package sounds;
import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.DataLine;
import javax.sound.sampled.FloatControl;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.SourceDataLine;

import util.AudioClipBalanced;
/** <p>An object implementing {@link java.applet.AudioClip java.applet.AudioClip} with the data from drum-15.wav hard-coded into it.</p>
 * <p>Created with the <a href="http://stephengware.com/projects/soundtoclass">SoundToClass tool</a>, by Stephen G. Ware.</p>
 * @author Stephen G. Ware */
public class Drum15 implements AudioClipBalanced {
	private byte[] data;
	private AudioFormat format;
	private DataLine.Info lineInfo = null;
	private PlayThread playThread = null;
	private LoopThread loopThread = null;
	private static final long serialVersionUID = 22040;
	private static byte[] data0(){ return new byte[] {2,0,-86,19,-123,38,-43,55,-7,70,89,83,-84,92,-50,98,98,101,-60,100,41,97,8,91,-33,82,72,73,-24,62,79,52,35,42,-47,32,-49,24,81,18,96,13,37,10,108,8,-21,7,61,8,-3,8,-73,9,-59,9,35,9,66,7,-16,3,7,-1,-106,-8,-128,-16,118,-25,-108,-35,91,-45,65,-55,-41,-65,-104,-73,-8,-80,115,-84,51,-86,-125,-86,77,-83,-116,-78,-12,-71,95,-61,18,-50,-74,-39,-71,-27,-111,-15,-55,-4,14,7,-73,15,-75,22,-29,27,76,31,5,33,94,33,-65,32,81,31,-109,29,8,28,7,27,-16,26,5,28,82,30,-22,33,-73,38,118,44,-34,50,127,57,-61,63,89,69,-94,73,47,76,-102,76,-116,74,-78,69,89,62,99,52,26,40,-52,25,12,10,81,-7,42,-24,126,-41,-37,-57,-55,-71,-39,-83,111,-92,-41,-99,50,-102,-104,-103,-29,-101,-48,-96,-5,-89,-6,-80,81,-69,111,-58,-57,-47,-16,-36,102,-25,-27,-16,44,-7,50,0,-70,5,-25,9,-8,12,23,15,-102,16,-2,17,39,19,-87,20,-102,22,69,25,-83,28,-42,32,-64,37,12,43,-107,48,19,54,41,59,-113,63,-33,66,-39,68,63,69,-16,67,-44,64,-7,59,106,53,77,45,31,36,22,26,-100,15,5,5,-61,-6,40,-15,91,-24,-16,-32,-29,-38,83,-42,41,-45,99,-47,-82,-48,19,-47,44,-46,-75,-45,93,-43,-19,-42,36,-40,-37,-40,-3,-40,-120,-40,-128,-41,16,-42,101,-44,-29,-46,-112,-47,-29,-48,15,-47,110,-46,37,-43,103,-39,98,-33,-44,-26,-73,-17,-27,-7,27,5,-1,16,51,29,105,41,-15,52,-119,63,-55,72,99,80,7,86,-96,89,-17,90,15,90,2,87,5,82,68,75,14,67,-101,57,116,47,-31,36,45,26,-72,15,-79,5,54,-4,-67,-13,45,-20,-92,-27,12,-32,99,-37,-117,-41,81,-44,-55,-47,-50,-49,37,-50,-44,-52,-74,-53,-41,-54,29,-54,-69,-55,-95,-55,-17,-55,-75,-54,14,-52,33,-50,-30,-48,92,-44,-83,-40,-82,-35,120,-29,-51,-23,-37,-16,16,-8,-126,-1,-19,6,58,14,41,21,-52,27,-97,33,-62,38,12,43,-115,46,37,49,-10,50,4,52,84,52,-4,51,32,51,-39,49,49,48,70,46,36,44,-33,41,117,39,-23,36,52,34,75,31,6,28,-112,24,-50,20,-102,16,7,12,-14,6,126,1,98,-5,38,-11,-112,-18,-46,-25,0,-31,64,-38,-91,-45,-121,-51,-14,-57,21,-61,11,-65,2,-68,9,-70,74,-71,-64,-71,115,-69,109,-66,-102,-62,-13,-57,124,-50,-39,-43,9,-34,-36,-26,46,-16,-56,-7,-126,3,78,13,-92,22,-109,31,-50,39,84,47,-39,53,100,59,-41,63,7,67,-12,68,-92,69,38,69,112,67,-80,64,-19,60,83,56,3,51,35,45,-35,38,84,32,-101,25,-3,18,-111,12,101,6,-115,0,27,-5,-17,-11,86,-15,40,-19,95,-23,-25,-27,-58,-30,-39,-33,10,-35,-123,-38,37,-40,-20,-43,-32,-45,-1,-47,106,-48,32,-49,79,-50,-20,-51,47,-50,6,-49,-82,-48,26,-45,85,-42,69,-38,2,-33,101,-28,102,-22,-40,-16,-52,-9,-67,-2,-72,5,-123,12,10,19,26,25,-66,30,-100,35,-55,39,56,43,-9,45,0,48,110,49,79,50,-80,50,-94,50,72,50,-94,49,-64,48,-105,47,55,46,-103,44,-102,42,54,40,74,37,-66,33,94,29,86,24,-124,18,-39,11,100,4,60,-4,127,-13,56,-22,-25,-32,-85,-41,-56,-50,-110,-58,67,-65,43,-71,-113,-76,-90,-79,-124,-80,66,-79,-23,-77,83,-72,127,-66,18,-58,-47,-50,115,-40,-100,-30,-8,-20,72,-9,7,1,-16,9,-17,17,-77,24,62,30,121,34,-101,37,113,39,73,40,83,40,-48,39,-16,38,9,38,28,37,105,36,23,36,35,36,-98,36,101,37,102,38,111,39,97,40,-16,40,-10,40,49,40,-122,38,-98,35,-61,31,-77,26,-98,20,-125,13,-77,5,36,-3,-128,-12,-31,-21,-106,-29,-17,-37,44,-43,-125,-49,16,-53,23,-56,-121,-58,86,-58,112,-57,-92,-55,-64,-52,-112,-48,-65,-44,38,-39,119,-35,-121,-31,56,-27,-121,-24,67,-21,-128,-19,108,-17,24,-15,-57,-14,-95,-12,7,-9,-32,-7,126,-3,-8,1,98,7,-67,13,-2,20,-45,28,11,37,109,45,-110,53,41,61,-57,67,26,73,-54,76,-107,78,82,78,-31,75,84,71,-114,64,13,56,-14,45,-92,34,-125,22,10,10,-88,-3,-80,-15,-51,-26,58,-35,52,-43,-4,-50,-109,-54,-26,-57,27,-57,-36,-57,-16,-55,-3,-52,-61,-48,-45,-44,-18,-40,-59,-36,34,-32,-41,-30,-49,-28,6,-26,-108,-26,-79,-26,103,-26,11,-26,-36,-27,39,-26,33,-25,40,-23,36,-20,59,-16,-116,-11,-36,-5,44,3,38,11,-80,19,47,28,109,36,16,44,-59,50,63,56,79,60,-80,62,99,63,88,62,-63,59}; }
	private static byte[] data1(){ return new byte[] {-83,55,116,50,56,44,119,37,117,30,-127,23,-15,16,-13,10,-89,5,91,1,4,-2,-120,-5,-37,-7,-68,-8,1,-8,60,-9,120,-10,77,-11,-120,-13,-4,-16,-109,-19,76,-23,39,-28,101,-34,55,-40,-36,-47,-74,-53,16,-58,103,-63,-18,-67,13,-68,-7,-69,-35,-67,-48,-63,-51,-57,-52,-49,92,-39,82,-28,62,-16,-67,-4,86,9,-82,21,28,33,72,43,-17,51,-65,58,-98,63,112,66,84,67,70,66,-109,63,121,59,92,54,-120,48,98,42,57,36,93,30,21,25,-127,20,-54,16,-36,13,-86,11,48,10,49,9,115,8,-77,7,-68,6,69,5,13,3,34,0,104,-4,-55,-9,101,-14,91,-20,-53,-27,42,-33,-88,-40,-110,-46,58,-51,-28,-56,-48,-59,46,-60,30,-60,-94,-59,-76,-56,52,-51,-16,-46,-60,-39,55,-31,9,-23,-13,-16,-106,-8,-68,-1,27,6,-75,11,42,16,-113,19,-11,21,118,23,60,24,125,24,-119,24,106,24,118,24,-34,24,-61,25,66,27,102,29,15,32,54,35,-100,38,26,42,93,45,36,48,17,50,-1,50,-80,50,-31,48,-117,45,-109,40,-8,33,6,26,-29,16,-44,6,36,-4,66,-15,122,-26,47,-36,-33,-46,-42,-54,65,-60,103,-65,90,-68,44,-69,-68,-69,16,-66,-36,-63,-27,-58,-23,-52,-114,-45,-92,-38,-75,-31,-108,-24,3,-17,-32,-12,4,-6,116,-2,66,2,84,5,-45,7,-12,9,-45,11,-88,13,-88,15,-60,17,43,20,-20,22,4,26,107,29,2,33,-75,36,69,40,118,43,61,46,66,48,118,49,-104,49,-81,48,-105,46,107,43,23,39,-33,33,-54,27,7,21,-8,13,-62,6,-84,-1,-35,-8,-101,-14,2,-19,22,-24,49,-28,42,-31,5,-33,-88,-35,2,-35,-52,-36,30,-35,-97,-35,66,-34,-39,-34,74,-33,-118,-33,-103,-33,109,-33,32,-33,-59,-34,-124,-34,122,-34,-11,-34,-32,-33,-127,-31,-16,-29,68,-25,-123,-21,-74,-16,-32,-10,-82,-3,12,5,-36,12,-54,20,-80,28,54,36,64,43,98,49,123,54,98,58,-4,60,45,62,-4,61,97,60,-127,57,121,53,108,48,-109,42,29,36,43,29,31,22,17,15,55,8,-88,1,-113,-5,-41,-11,-55,-16,90,-20,111,-24,23,-27,53,-30,-58,-33,-102,-35,-32,-37,105,-38,54,-39,61,-40,-123,-41,9,-41,-27,-42,17,-41,-91,-41,-88,-40,39,-38,42,-36,-52,-34,-23,-31,-118,-27,-81,-23,61,-18,42,-13,89,-8,-44,-3,54,3,-117,8,-83,13,-122,18,-2,22,26,27,-112,30,122,33,-49,35,-118,37,-69,38,94,39,-117,39,64,39,-113,38,-120,37,60,36,-81,34,-38,32,-24,30,-65,28,112,26,-20,23,57,21,74,18,3,15,-102,11,-22,7,-2,3,-47,-1,102,-5,-41,-10,4,-14,63,-19,-124,-24,-34,-29,111,-33,80,-37,-123,-41,80,-44,-84,-47,-73,-49,120,-50,9,-50,101,-50,-86,-49,-75,-47,-106,-44,55,-40,-113,-36,-112,-31,48,-25,55,-19,-120,-13,24,-6,-60,0,99,7,-26,13,54,20,17,26,106,31,45,36,73,40,-87,43,80,46,27,48,7,49,47,49,126,48,24,47,-12,44,48,42,-33,38,28,35,-2,30,-105,26,13,22,103,17,-80,12,28,8,-72,3,119,-1,122,-5,-78,-9,18,-12,-53,-16,-57,-19,-9,-22,98,-24,-5,-27,-59,-29,-84,-31,-44,-33,51,-34,-56,-36,-99,-37,-60,-38,59,-38,33,-38,114,-38,61,-37,-110,-36,104,-34,-45,-32,-38,-29,82,-25,65,-21,-106,-17,63,-12,40,-7,44,-2,94,3,85,8,35,13,-87,17,-46,21,-110,25,-19,28,-79,31,-13,33,-73,35,-3,36,-45,37,66,38,83,38,17,38,-120,37,-71,36,-75,35,107,34,-43,32,5,31,-27,28,108,26,-112,23,59,20,123,16,21,12,87,7,38,2,-123,-4,-97,-10,119,-16,42,-22,4,-28,35,-34,-89,-40,-56,-45,-82,-49,123,-52,81,-54,79,-55,125,-55,-29,-54,110,-51,17,-47,-78,-43,49,-37,78,-31,-46,-25,-102,-18,96,-11,-2,-5,89,2,18,8,47,13,-114,17,48,21,16,24,58,26,-43,27,-52,28,83,29,-118,29,-113,29,-127,29,126,29,-125,29,-88,29,-27,29,61,30,-96,30,-18,30,14,31,-19,30,108,30,106,29,-49,27,-115,25,121,22,-49,18,118,14,-122,9,29,4,88,-2,106,-8,95,-14,-94,-20,71,-25,116,-30,84,-34,-3,-38,-118,-40,-13,-42,83,-42,-114,-42,-107,-41,60,-39,119,-37,22,-34,-19,-32,-24,-29,-52,-26,-88,-23,63,-20,-75,-18,-5,-16,15,-13,-8,-12,-18,-10,-22,-8,43,-5,-56,-3,-74,0,17,4,-16,7,66,12,5,17,26,22,110,27,-68,32,-39,37,-106,42,-74,46,11,50,89,52,-128,53,90,53,-25,51,21,49,-8,44,-85,39,64,33,25,26,87,18,75,10,45,2,82,-6,-21,-14,34,-20,79,-26,-113,-31}; }
	private static byte[] data2(){ return new byte[] {-39,-35,77,-37,-53,-39,64,-39,-93,-39,-66,-38,100,-36,95,-34,-123,-32,-86,-30,-85,-28,106,-26,-26,-25,-3,-24,-39,-23,110,-22,-5,-22,120,-21,17,-20,1,-19,78,-18,50,-16,-83,-14,-15,-11,-55,-7,62,-2,61,3,-88,8,75,14,1,20,-101,25,-58,30,85,35,46,39,17,42,-3,43,-48,44,-118,44,55,43,-18,40,-48,37,8,34,-62,29,35,25,125,20,-21,15,-100,11,-84,7,47,4,32,1,-99,-2,-100,-4,-18,-6,-117,-7,67,-8,-6,-10,116,-11,-57,-13,-69,-15,76,-17,108,-20,45,-23,-101,-27,-42,-31,19,-34,118,-38,57,-41,-116,-44,-87,-46,-58,-47,-11,-47,84,-45,-6,-43,-40,-39,-16,-34,4,-27,37,-20,-55,-13,-37,-5,10,4,21,12,-82,19,-68,26,-59,32,-64,37,-113,41,31,44,116,45,-108,45,-76,44,-52,42,46,40,-3,36,115,33,-57,29,24,26,-98,22,115,19,-87,16,65,14,64,12,-107,10,11,9,-63,7,110,6,4,5,82,3,79,1,-44,-2,-45,-5,110,-8,-92,-12,127,-16,35,-20,-66,-25,89,-29,97,-33,-50,-37,-13,-40,-42,-42,-90,-43,117,-43,70,-42,32,-40,-33,-38,124,-34,-57,-30,-102,-25,-39,-20,43,-14,109,-9,126,-4,37,1,92,5,-12,8,27,12,120,14,93,16,-80,17,-78,18,101,19,-6,19,-103,20,64,21,19,22,36,23,115,24,8,26,-69,27,-109,29,87,31,-10,32,56,34,2,35,31,35,106,34,-32,32,98,30,-10,26,-114,22,87,17,55,11,-86,4,-76,-3,-109,-10,-123,-17,-60,-24,-123,-30,-10,-36,89,-40,-55,-44,88,-46,10,-47,-24,-48,-48,-47,-57,-45,-114,-42,13,-38,17,-34,102,-30,-18,-26,124,-21,-30,-17,1,-12,-44,-9,65,-5,79,-2,7,1,127,3,-82,5,-90,7,-108,9,124,11,121,13,-91,15,-30,17,64,20,-75,22,63,25,-70,27,22,30,63,32,-10,33,72,35,-7,35,8,36,100,35,-24,33,-58,31,-29,28,93,25,79,21,-56,16,-2,11,-20,6,-12,1,32,-3,-115,-8,94,-12,-90,-16,113,-19,-69,-22,-94,-24,24,-25,5,-26,94,-27,12,-27,-18,-28,12,-27,60,-27,118,-27,-78,-27,-38,-27,14,-26,59,-26,119,-26,-51,-26,81,-25,32,-24,69,-23,-14,-22,7,-19,-90,-17,-47,-14,-123,-10,-62,-6,100,-1,-127,4,-77,9,5,15,64,20,72,25,-19,29,28,34,-106,37,80,40,49,42,53,43,74,43,-125,42,-49,40,103,38,61,35,-115,31,95,27,-34,22,47,18,76,13,-111,8,-18,3,-123,-1,98,-5,-117,-9,-11,-13,-45,-16,-1,-19,-115,-21,88,-23,120,-25,-45,-27,98,-28,56,-29,75,-30,-110,-31,30,-31,-23,-32,-5,-32,104,-31,30,-30,62,-29,-75,-28,-106,-26,-39,-24,-116,-21,-112,-18,-42,-15,109,-11,40,-7,18,-3,-2,0,2,5,-44,8,116,12,-34,15,-11,18,-73,21,41,24,33,26,-83,27,-43,28,-109,29,-15,29,-11,29,-92,29,8,29,39,28,7,27,-74,25,41,24,110,22,-127,20,120,18,60,16,-43,13,72,11,-118,8,-116,5,-128,2,76,-1,1,-4,-103,-8,45,-11,-88,-15,71,-18,6,-21,-21,-25,21,-27,-124,-30,82,-32,-120,-34,58,-35,109,-36,44,-36,118,-36,86,-35,-59,-34,-51,-32,84,-29,81,-26,-59,-23,-107,-19,-70,-15,49,-10,-65,-6,99,-1,6,4,-104,8,0,13,44,17,35,21,-102,24,-77,27,67,30,91,32,-31,33,-29,34,76,35,38,35,122,34,72,33,-90,31,-106,29,32,27,99,24,106,21,66,18,-6,14,-89,11,51,8,-25,4,-93,1,-124,-2,126,-5,-89,-8,-21,-11,85,-13,-21,-16,-62,-18,-81,-20,-40,-22,32,-23,-96,-25,63,-26,39,-27,67,-28,-91,-29,75,-29,66,-29,-107,-29,63,-28,73,-27,-75,-26,-120,-24,-74,-22,70,-19,55,-16,101,-13,-56,-10,93,-6,6,-2,-67,1,125,5,12,9,111,12,-109,15,117,18,-2,20,54,23,24,25,-112,26,-83,27,110,28,-32,28,3,29,-35,28,114,28,-50,27,-19,26,-37,25,-116,24,4,23,51,21,41,19,-28,16,82,14,112,11,81,8,-45,4,19,1,26,-3,3,-7,-55,-12,-116,-16,94,-20,80,-24,-103,-28,69,-31,117,-34,51,-36,-91,-38,-55,-39,-72,-39,107,-38,-24,-37,25,-34,-12,-32,104,-28,86,-24,-96,-20,21,-15,-86,-11,50,-6,-105,-2,-74,2,-101,6,-1,9,-9,12,121,15,-118,17,47,19,115,20,122,21,41,22,-89,22,5,23,72,23,-121,23,-67,23,-19,23,18,24,44,24,39,24,0,24,-103,23,-27,22,-32,21,121,20,-91,18,94,16,-88,13,109,10,-19,6,24,3,21,-1,-21,-6,-57,-10,-67,-14,-37,-18,102,-21,88,-24,-42,-27,-37,-29,-125,-30,-71,-31,-117,-31,-24,-31,-58,-30,11,-28,-90,-27,125,-25,-121,-23,-96,-21}; }
	private static byte[] data3(){ return new byte[] {-72,-19,-50,-17,-49,-15,-65,-13,-98,-11,-118,-9,97,-7,67,-5,70,-3,102,-1,-57,1,106,4,62,7,75,10,-116,13,-13,16,109,20,-38,23,51,27,51,30,-45,32,-18,34,97,36,33,37,6,37,26,36,86,34,-70,31,91,28,80,24,-79,19,-100,14,77,9,-15,3,-97,-2,-112,-7,-37,-12,-89,-16,-9,-20,0,-22,-72,-25,28,-26,39,-27,-62,-28,-40,-28,92,-27,53,-26,55,-25,96,-24,125,-23,-95,-22,-93,-21,-109,-20,96,-19,37,-18,-38,-18,-92,-17,-107,-16,-82,-15,7,-13,-73,-12,-62,-10,54,-7,12,-4,88,-1,-40,2,-99,6,125,10,96,14,47,18,-76,21,-9,24,-93,27,-57,29,61,31,8,32,26,32,124,31,50,30,91,28,-2,25,74,23,72,20,43,17,-22,13,-41,10,-36,7,42,5,-88,2,123,0,108,-2,-72,-4,42,-5,-73,-7,86,-8,-28,-10,95,-11,-85,-13,-45,-15,-44,-17,-85,-19,96,-21,13,-23,-66,-26,-101,-28,-72,-30,60,-31,54,-32,-43,-33,26,-32,53,-31,1,-29,-94,-27,-13,-24,-10,-20,-117,-15,-119,-10,-18,-5,86,1,-79,6,-36,11,-98,16,-28,20,-108,24,-126,27,-85,29,15,31,-84,31,-99,31,-31,30,-87,29,-8,27,-6,25,-55,23,-121,21,63,19,14,17,-3,14,31,13,101,11,-39,9,96,8,-3,6,125,5,3,4,99,2,-111,0,-120,-2,57,-4,-74,-7,-35,-10,-7,-13,-15,-16,-14,-19,5,-21,81,-24,-26,-27,-17,-29,124,-30,-94,-31,101,-31,-41,-31,-17,-30,-84,-28,-3,-26,-62,-23,-15,-20,98,-16,1,-12,-71,-9,78,-5,-67,-2,-29,1,-61,4,70,7,105,9,78,11,-61,12,-1,13,-8,14,-45,15,-108,16,95,17,29,18,-14,18,-48,19,-58,20,-63,21,-68,22,-101,23,89,24,-43,24,0,25,-65,24,1,24,-67,22,-57,20,89,18,73,15,-66,11,-75,7,82,3,-98,-2,-36,-7,39,-11,-104,-16,94,-20,-115,-24,80,-27,-96,-30,-68,-32,-120,-33,23,-33,88,-33,68,-32,-55,-31,-52,-29,56,-26,-18,-24,-43,-21,-48,-18,-49,-15,-59,-12,-110,-9,46,-6,-96,-4,-34,-2,-11,0,-28,2,-47,4,-110,6,85,8,14,10,-40,11,-92,13,-117,15,97,17,55,19,-13,20,-106,22,4,24,44,25,5,26,114,26,115,26,-10,25,-1,24,-126,23,-124,21,27,19,85,16,59,13,-23,9,112,6,-17,2,99,-1,16,-4,-18,-8,18,-10,-120,-13,86,-15,111,-17,-9,-19,-49,-20,-4,-21,101,-21,15,-21,-32,-22,-44,-22,-25,-22,10,-21,63,-21,-126,-21,-44,-21,65,-20,-47,-20,-119,-19,105,-18,-112,-17,-8,-16,-78,-14,-46,-12,53,-9,-21,-7,-18,-4,50,0,-89,3,61,7,-22,10,125,14,-29,17,17,21,-27,23,78,26,68,28,-91,29,113,30,-84,30,69,30,88,29,-41,27,-34,25,119,23,-66,20,-61,17,-110,14,78,11,-24,7,-94,4,107,1,96,-2,117,-5,-57,-8,70,-10,-17,-13,-30,-15,9,-16,107,-18,-10,-20,-65,-21,-83,-22,-47,-23,38,-23,-72,-24,126,-24,125,-24,-61,-24,72,-23,25,-22,45,-21,-119,-20,54,-18,28,-16,79,-14,-60,-12,90,-9,29,-6,-15,-4,-36,-1,-67,2,-87,5,99,8,-5,10,92,13,-120,15,107,17,14,19,106,20,113,21,46,22,-98,22,-55,22,-82,22,87,22,-62,21,-9,20,-4,19,-45,18,126,17,5,16,83,14,-116,12,-92,10,-101,8,113,6,48,4,-48,1,79,-1,-49,-4,67,-6,-69,-9,52,-11,-62,-14,91,-16,40,-18,34,-20,87,-22,-46,-24,-111,-25,-77,-26,34,-26,-5,-27,56,-26,-45,-26,-36,-25,60,-23,13,-21,38,-19,-113,-17,60,-14,32,-11,55,-8,104,-5,-61,-2,12,2,75,5,122,8,120,11,81,14,-31,16,61,19,57,21,-37,22,34,24,2,25,-121,25,-94,25,95,25,-68,24,-66,23,123,22,-34,20,21,19,-4,16,-50,14,119,12,14,10,-105,7,29,5,-109,2,39,0,-52,-3,-125,-5,87,-7,70,-9,79,-11,116,-13,-63,-15,55,-16,-46,-18,-108,-19,-124,-20,-98,-21,-20,-22,109,-22,48,-22,44,-22,106,-22,-13,-22,-66,-21,-36,-20,49,-18,-42,-17,-71,-15,-42,-13,43,-10,-73,-8,89,-5,6,-2,-54,0,120,3,40,6,-69,8,36,11,80,13,81,15,8,17,-123,18,-69,19,-80,20,94,21,-56,21,-15,21,-26,21,-102,21,27,21,108,20,-119,19,-128,18,65,17,-42,15,62,14,98,12,102,10,60,8,-36,5,86,3,-91,0,-46,-3,-39,-6,-28,-9,-21,-12,11,-14,66,-17,-79,-20,87,-22,94,-24,-61,-26,-98,-27,-18,-28,-63,-28,23,-27,-10,-27,73,-25,26,-23,73,-21,-45,-19,-93,-16,-81,-13,-50,-10,-14,-7,10,-3,9,0,-38,2,115,5,-32,7,-17,9,-61,11,71,13,-112,14,-101,15,117,16}; }
	private static byte[] data4(){ return new byte[] {42,17,-75,17,27,18,115,18,-83,18,-34,18,-19,18,-15,18,-54,18,-119,18,19,18,105,17,-123,16,77,15,-41,13,29,12,18,10,-58,7,62,5,112,2,-108,-1,-94,-4,-83,-7,-50,-10,17,-12,-118,-15,66,-17,84,-19,-53,-21,-92,-22,-28,-23,-114,-23,-106,-23,-4,-23,-76,-22,-82,-21,-31,-20,61,-18,-75,-17,78,-15,-31,-14,127,-12,22,-10,-83,-9,70,-7,-31,-6,-107,-4,75,-2,14,0,-14,1,-17,3,8,6,79,8,-105,10,-14,12,72,15,-106,17,-64,19,-68,21,110,23,-49,24,-73,25,54,26,34,26,-112,25,95,24,-76,22,-128,20,-35,17,-40,14,-125,11,3,8,78,4,-74,0,42,-3,-35,-7,-50,-10,22,-12,-54,-15,-56,-17,89,-18,58,-19,-104,-20,58,-20,56,-20,101,-20,-47,-20,89,-19,-4,-19,-89,-18,87,-17,11,-16,-65,-16,118,-15,55,-14,0,-13,-17,-13,-9,-12,63,-10,-80,-9,86,-7,62,-5,96,-3,-74,-1,66,2,-13,4,-78,7,103,10,13,13,-121,15,-56,17,-69,19,77,21,110,22,27,23,88,23,15,23,102,22,66,21,-49,19,14,18,19,16,-14,13,-67,11,-125,9,71,7,45,5,50,3,92,1,-90,-1,23,-2,-110,-4,49,-5,-26,-7,-112,-8,70,-9,-21,-11,-128,-12,8,-13,-127,-15,1,-16,127,-18,15,-19,-60,-21,-91,-22,-46,-23,76,-23,49,-23,126,-23,79,-22,-110,-21,109,-19,-87,-17,93,-14,103,-11,-62,-8,74,-4,-14,-1,-94,3,45,7,125,10,-123,13,43,16,100,18,49,20,113,21,55,22,-124,22,99,22,-31,21,10,21,-12,19,-83,18,67,17,-51,15,77,14,-42,12,95,11,-3,9,-88,8,91,7,18,6,-62,4,105,3,-27,1,95,0,-83,-2,-25,-4,-12,-6,-16,-8,-57,-10,-91,-12,-118,-14,-123,-16,-92,-18,3,-19,-95,-21,-101,-22,-6,-23,-63,-23,-1,-23,-89,-22,-64,-21,56,-19,24,-17,48,-15,-114,-13,2,-10,-106,-8,34,-5,-80,-3,18,0,71,2,78,4,27,6,-77,7,19,9,82,10,89,11,61,12,9,13,-63,13,113,14,32,15,-64,15,98,16,-12,16,125,17,-19,17,55,18,83,18,47,18,-48,17,21,17,14,16,-100,14,-54,12,-97,10,40,8,98,5,99,2,62,-1,4,-4,-66,-8,-93,-11,-78,-14,12,-16,-72,-19,-50,-21,78,-22,74,-23,-69,-24,-79,-24,17,-23,-38,-23,4,-21,120,-20,47,-18,11,-16,14,-14,20,-12,41,-10,44,-8,51,-6,23,-4,-26,-3,-97,-1,69,1,-42,2,113,4,-21,5,104,7,-34,8,81,10,-61,11,41,13,-113,14,-49,15,-4,16,-11,17,-59,18,82,19,-99,19,-108,19,60,19,-119,18,-122,17,40,16,-124,14,-122,12,100,10,9,8,-97,5,21,3,-99,0,35,-2,-57,-5,-108,-7,-101,-9,-43,-11,72,-12,-1,-14,-33,-15,11,-15,102,-16,-14,-17,-89,-17,127,-17,117,-17,-122,-17,-78,-17,-17,-17,75,-16,-72,-16,72,-15,1,-14,-42,-14,-36,-13,11,-11,114,-10,12,-8,-37,-7,-20,-5,27,-2,114,0,-30,2,102,5,-21,7,100,10,-49,12,0,15,-5,16,-82,18,13,20,24,21,-72,21,-2,21,-51,21,73,21,92,20,30,19,-108,17,-71,15,-68,13,-117,11,73,9,-18,6,-102,4,50,2,-11,-1,-62,-3,-78,-5,-63,-7,-15,-9,72,-10,-71,-12,93,-13,38,-14,27,-15,48,-16,118,-17,-32,-18,116,-18,59,-18,48,-18,89,-18,-75,-18,70,-17,21,-16,22,-15,74,-14,-75,-13,74,-11,15,-9,-13,-8,7,-5,28,-3,68,-1,102,1,-118,3,-105,5,-100,7,114,9,30,11,-95,12,-16,13,7,15,-19,15,-102,16,11,17,73,17,72,17,34,17,-68,16,54,16,120,15,-94,14,-104,13,121,12,46,11,-46,9,68,8,-83,6,1,5,57,3,112,1,-120,-1,-87,-3,-82,-5,-56,-7,-19,-9,24,-10,104,-12,-59,-14,80,-15,-2,-17,-20,-18,9,-18,104,-19,6,-19,-24,-20,21,-19,-120,-19,62,-18,63,-17,121,-16,-6,-15,-76,-13,-100,-11,-86,-9,-38,-7,35,-4,122,-2,-41,0,62,3,-122,5,-67,7,-51,9,-69,11,118,13,-8,14,77,16,82,17,23,18,-106,18,-53,18,-62,18,108,18,-36,17,11,17,1,16,-52,14,97,13,-34,11,37,10,108,8,-108,6,-60,4,-35,2,10,1,34,-1,94,-3,-94,-5,-4,-7,106,-8,-14,-10,-109,-11,73,-12,36,-13,40,-14,70,-15,-106,-16,1,-16,-94,-17,108,-17,106,-17,-101,-17,-3,-17,-104,-16,101,-15,111,-14,-87,-13,10,-11,-96,-10,83,-8,43,-6,26,-4,37,-2,44,0,49,2,45,4,23,6,-26,7,-95,9,40,11,-125,12,-79,13,-87,14,118,15,5,16,107,16,-101,16,-106,16,109,16,14,16,-115,15,-39,14,8,14,11,13,-11,11,-84,10,82,9}; }
	private static byte[] data5(){ return new byte[] {-60,7,22,6,77,4,110,2,115,0,103,-2,76,-4,46,-6,10,-8,-5,-11,9,-12,54,-14,-108,-16,43,-17,-3,-19,34,-19,-103,-20,98,-20,-116,-20,1,-19,-35,-19,-5,-18,113,-16,23,-14,-5,-13,4,-10,39,-8,103,-6,-103,-4,-58,-2,-37,0,-43,2,-86,4,85,6,-31,7,54,9,90,10,91,11,45,12,-32,12,123,13,-21,13,72,14,-117,14,-80,14,-55,14,-71,14,-105,14,76,14,-30,13,76,13,-116,12,-103,11,121,10,23,9,-109,7,-34,5,5,4,7,2,-6,-1,-55,-3,-83,-5,-105,-7,-102,-9,-60,-11,19,-12,-93,-14,98,-15,118,-16,-55,-17,103,-17,75,-17,109,-17,-43,-17,102,-16,51,-15,24,-14,42,-13,66,-12,123,-11,-67,-10,4,-8,81,-7,-97,-6,-11,-5,88,-3,-76,-2,63,0,-83,1,70,3,-46,4,122,6,34,8,-47,9,120,11,4,13,-126,14,-48,15,-10,16,-40,17,117,18,-58,18,-74,18,88,18,-112,17,121,16,-5,14,59,13,55,11,-6,8,-102,6,32,4,-99,1,31,-1,-70,-4,-121,-6,125,-8,-76,-10,40,-11,-40,-13,-40,-14,24,-14,-100,-15,79,-15,63,-15,77,-15,-127,-15,-46,-15,53,-14,-86,-14,42,-13,-73,-13,77,-12,1,-11,-76,-11,-117,-10,115,-9,125,-8,-82,-7,8,-5,-124,-4,31,-2,-35,-1,-75,1,-96,3,-112,5,-111,7,105,9,53,11,-54,12,52,14,90,15,62,16,-48,16,18,17,0,17,-89,16,-7,15,22,15,-22,13,-102,12,38,11,-103,9,0,8,100,6,-63,4,55,3,-68,1,80,0,-2,-2,-71,-3,-125,-4,84,-5,47,-6,24,-7,0,-8,-26,-10,-47,-11,-69,-12,-86,-13,-89,-14,-68,-15,-21,-16,63,-16,-56,-17,-122,-17,-116,-17,-37,-17,115,-16,105,-15,-96,-14,54,-12,17,-10,38,-8,112,-6,-41,-4,87,-1,-40,1,87,4,-79,6,-39,8,-53,10,119,12,-36,13,-20,14,-75,15,35,16,74,16,39,16,-52,15,54,15,126,14,-99,13,-85,12,-91,11,-100,10,-122,9,122,8,88,7,69,6,44,5,11,4,-29,2,-84,1,100,0,2,-1,-103,-3,31,-4,-102,-6,14,-7,-127,-9,-7,-11,-120,-12,56,-13,12,-14,26,-15,88,-16,-26,-17,-80,-17,-48,-17,56,-16,-22,-16,-28,-15,26,-13,-113,-12,41,-10,-31,-9,-79,-7,-123,-5,88,-3,33,-1,-37,0,115,2,-22,3,62,5,110,6,-124,7,110,8,84,9,11,10,-72,10,80,11,-38,11,86,12,-54,12,35,13,119,13,-95,13,-64,13,-83,13,120,13,9,13,103,12,-110,11,120,10,42,9,-102,7,-49,5,-32,3,-58,1,-99,-1,92,-3,37,-5,-10,-8,-31,-10,-2,-12,81,-13,-24,-15,-62,-16,-15,-17,107,-17,52,-17,81,-17,-76,-17,91,-16,59,-15,76,-14,-123,-13,-29,-12,66,-10,-64,-9,51,-7,-82,-6,33,-4,-107,-3,-9,-2,77,0,-99,1,-34,2,33,4,94,5,-111,6,-71,7,-40,8,-15,9,-13,10,-24,11,-64,12,123,13,8,14,111,14,-97,14,-102,14,87,14,-36,13,32,13,51,12,4,11,-84,9,41,8,117,6,-67,4,-22,2,27,1,80,-1,-113,-3,-20,-5,85,-6,-17,-8,-79,-9,-108,-10,-81,-11,-33,-12,72,-12,-57,-13,120,-13,67,-13,40,-13,47,-13,69,-13,-127,-13,-56,-13,50,-12,-84,-12,73,-11,1,-10,-32,-10,-36,-9,-11,-8,55,-6,-105,-5,21,-3,-75,-2,109,0,52,2,-5,3,-57,5,-121,7,52,9,-62,10,49,12,102,13,107,14,40,15,-81,15,-25,15,-33,15,-111,15,1,15,50,14,48,13,-6,11,-101,10,23,9,123,7,-43,5,36,4,112,2,-60,0,22,-1,-126,-3,1,-4,-105,-6,68,-7,14,-8,-16,-10,-21,-11,10,-11,73,-12,-87,-13,40,-13,-50,-14,-111,-14,-123,-14,-107,-14,-39,-14,59,-13,-47,-13,-122,-12,112,-11,121,-10,-95,-9,-15,-8,84,-6,-48,-5,95,-3,-3,-2,-101,0,47,2,-66,3,60,5,-91,6,-5,7,42,9,49,10,26,11,-47,11,107,12,-51,12,21,13,36,13,19,13,-37,12,121,12,-5,11,82,11,-110,10,-80,9,-68,8,-89,7,-126,6,71,5,-15,3,-106,2,49,1,-61,-1,78,-2,-31,-4,107,-5,2,-6,-91,-8,96,-9,50,-10,28,-11,44,-12,89,-13,-73,-14,64,-14,-7,-15,-30,-15,0,-14,79,-14,-44,-14,-117,-13,109,-12,124,-11,-75,-10,13,-8,-109,-7,34,-5,-54,-4,121,-2,50,0,-28,1,-106,3,56,5,-56,6,51,8,-125,9,-83,10,-84,11,-122,12,42,13,-103,13,-35,13,-25,13,-57,13,112,13,-19,12,64,12,108,11,116,10,96,9,46,8,-20,6,-115,5,44,4,-58,2,92,1,-12,-1,-111,-2,46,-3,-30,-5,-95,-6,122,-7,91,-8,95,-9,113,-10,-97,-11,-20,-12,89,-12,-23,-13}; }
	private static byte[] data6(){ return new byte[] {-107,-13,109,-13,100,-13,-120,-13,-47,-13,66,-12,-37,-12,-100,-11,127,-10,-109,-9,-73,-8,0,-6,90,-5,-55,-4,69,-2,-57,-1,82,1,-47,2,64,4,-94,5,-21,6,27,8,47,9,32,10,-26,10,-118,11,7,12,92,12,-117,12,-106,12,119,12,58,12,-39,11,84,11,-71,10,-18,9,23,9,30,8,11,7,-26,5,-97,4,81,3,-41,1,104,0,-33,-2,93,-3,-51,-5,76,-6,-56,-8,97,-9,21,-10,-27,-12,-31,-13,6,-13,99,-14,-15,-15,-62,-15,-55,-15,18,-14,-109,-14,79,-13,62,-12,96,-11,-89,-10,12,-8,-119,-7,25,-5,-88,-4,75,-2,-49,-1,83,1,-73,2,11,4,65,5,89,6,94,7,58,8,-4,8,-97,9,41,10,-101,10,-14,10,57,11,90,11,114,11,103,11,71,11,11,11,-84,10,49,10,-104,9,-43,8,-6,7,-17,6,-55,5,-128,4,35,3,-79,1,43,0,-93,-2,20,-3,-121,-5,19,-6,-79,-8,120,-9,86,-10,108,-11,-90,-12,19,-12,-77,-13,-121,-13,-118,-13,-71,-13,23,-12,-112,-12,58,-11,-21,-11,-61,-10,-92,-9,-108,-8,-108,-7,-98,-6,-81,-5,-63,-4,-37,-3,-2,-2,30,0,92,1,-122,2,-61,3,-10,4,50,6,99,7,-111,8,-82,9,-73,10,-100,11,101,12,-2,12,105,13,-99,13,-109,13,81,13,-50,12,14,12,20,11,-26,9,126,8,-3,6,84,5,-93,3,-35,1,36,0,107,-2,-58,-4,66,-5,-29,-7,-87,-8,-94,-9,-68,-10,8,-10,127,-11,34,-11,-21,-12,-45,-12,-38,-12,-6,-12,48,-11,122,-11,-44,-11,62,-10,-72,-10,64,-9,-27,-9,-114,-8,88,-7,45,-6,34,-5,45,-4,76,-3,-107,-2,-36,-1,61,1,-95,2,13,4,115,5,-49,6,27,8,73,9,75,10,43,11,-44,11,78,12,-113,12,-104,12,103,12,8,12,113,11,-72,10,-47,9,-48,8,-74,7,-109,6,97,5,50,4,-1,2,-49,1,-83,0,-108,-1,-119,-2,-123,-3,-115,-4,-99,-5,-83,-6,-54,-7,-16,-8,27,-8,79,-9,-115,-10,-35,-11,55,-11,-75,-12,70,-12,4,-12,-28,-13,-10,-13,60,-12,-76,-12,99,-11,71,-10,94,-9,-88,-8,20,-6,-73,-5,91,-3,30,-1,-37,0,-107,2,68,4,-40,5,74,7,-119,8,-96,9,127,10,42,11,-96,11,-31,11,-12,11,-45,11,-115,11,38,11,-99,10,3,10,77,9,-109,8,-57,7,-6,6,30,6,68,5,81,4,108,3,113,2,121,1,108,0,94,-1,68,-2,22,-3,-10,-5,-56,-6,-86,-7,-115,-8,-123,-9,-118,-10,-72,-11,3,-11,123,-12,32,-12,-10,-13,2,-12,67,-12,-73,-12,93,-11,43,-10,43,-9,63,-8,-127,-7,-60,-6,25,-4,111,-3,-64,-2,13,0,67,1,122,2,-119,3,-118,4,111,5,64,6,-5,6,-94,7,58,8,-64,8,44,9,-106,9,-31,9,39,10,83,10,105,10,105,10,79,10,11,10,-75,9,43,9,122,8,-86,7,-88,6,-116,5,69,4,-28,2,99,1,-42,-1,70,-2,-79,-4,42,-5,-76,-7,88,-8,27,-9,13,-10,47,-11,-121,-12,16,-12,-44,-13,-55,-13,-11,-13,82,-12,-40,-12,-126,-11,83,-10,49,-9,56,-8,58,-7,79,-6,103,-5,125,-4,-105,-3,-84,-2,-61,-1,-45,0,-42,1,-38,2,-44,3,-57,4,-68,5,-99,6,117,7,59,8,-12,8,-111,9,29,10,-122,10,-47,10,-14,10,-15,10,-62,10,109,10,-26,9,58,9,104,8,114,7,96,6,46,5,-14,3,-105,2,72,1,-16,-1,-89,-2,101,-3,54,-4,32,-5,21,-6,54,-7,108,-8,-60,-9,59,-9,-57,-10,118,-10,59,-10,30,-10,23,-10,39,-10,76,-10,-118,-10,-35,-10,72,-9,-58,-9,93,-8,11,-7,-47,-7,-71,-6,-83,-5,-68,-4,-38,-3,12,-1,80,0,-110,1,-19,2,50,4,120,5,-86,6,-55,7,-50,8,-78,9,115,10,1,11,105,11,-100,11,-90,11,118,11,35,11,-105,10,-17,9,27,9,43,8,32,7,0,6,-52,4,-112,3,85,2,19,1,-37,-1,-87,-2,119,-3,97,-4,83,-5,97,-6,121,-7,-81,-8,-12,-9,83,-9,-52,-10,99,-10,15,-10,-31,-11,-56,-11,-47,-11,-2,-11,64,-10,-81,-10,47,-9,-41,-9,-104,-8,119,-7,113,-6,113,-5,-110,-4,-77,-3,-26,-2,21,0,82,1,123,2,-97,3,-77,4,-76,5,-97,6,121,7,47,8,-56,8,71,9,-98,9,-35,9,-6,9,-11,9,-42,9,-109,9,61,9,-64,8,58,8,-122,7,-49,6,-1,5,26,5,44,4,44,3,35,2,9,1,-14,-1,-41,-2,-64,-3,-88,-4,-102,-5,-112,-6,-100,-7,-71,-8,-20,-9,54,-9,-97,-10,34,-10,-53,-11,-113,-11,-124,-11,-112,-11,-52,-11,39,-10,-90,-10,79,-9,16,-8,-15,-8,-20,-7,-5,-6,32,-4,89,-3,-109,-2,-42,-1}; }
	private static byte[] data7(){ return new byte[] {21,1,83,2,-123,3,-85,4,-58,5,-62,6,-87,7,107,8,24,9,-102,9,3,10,63,10,90,10,78,10,32,10,-48,9,93,9,-50,8,30,8,91,7,-126,6,-109,5,-99,4,-116,3,-128,2,111,1,89,0,76,-1,61,-2,59,-3,57,-4,77,-5,111,-6,-96,-7,-23,-8,66,-8,-78,-9,60,-9,-39,-10,-99,-10,117,-10,109,-10,-127,-10,-71,-10,8,-9,126,-9,6,-8,-75,-8,116,-7,84,-6,70,-5,78,-4,89,-3,121,-2,-107,-1,-71,0,-35,1,-9,2,-1,3,-2,4,-25,5,-72,6,119,7,23,8,-96,8,2,9,80,9,120,9,-118,9,121,9,78,9,9,9,-88,8,48,8,-96,7,-8,6,54,6,104,5,-126,4,-109,3,-113,2,-128,1,108,0,66,-1,34,-2,2,-3,-32,-5,-45,-6,-58,-7,-46,-8,-13,-9,51,-9,-108,-10,19,-10,-64,-11,-111,-11,-117,-11,-71,-11,-1,-11,-124,-10,25,-9,-31,-9,-62,-8,-73,-7,-56,-6,-33,-5,4,-3,41,-2,79,-1,114,0,-118,1,-115,2,-123,3,100,4,57,5,-19,5,-100,6,40,7,-95,7,9,8,86,8,-106,8,-71,8,-49,8,-54,8,-80,8,-127,8,57,8,-41,7,92,7,-57,6,26,6,85,5,121,4,-121,3,125,2,107,1,75,0,44,-1,6,-2,-23,-4,-45,-5,-55,-6,-40,-7,4,-7,70,-8,-81,-9,52,-9,-29,-10,-84,-10,-94,-10,-75,-10,-24,-10,59,-9,-92,-9,40,-8,-59,-8,101,-7,34,-6,-36,-6,-83,-5,123,-4,97,-3,59,-2,36,-1,6,0,-10,0,-32,1,-41,2,-64,3,-83,4,-118,5,105,6,50,7,-19,7,-106,8,31,9,-118,9,-41,9,-9,9,-9,9,-61,9,110,9,-25,8,63,8,110,7,124,6,113,5,69,4,16,3,-40,1,-111,0,94,-1,38,-2,11,-3,-11,-5,4,-5,44,-6,115,-7,-40,-8,89,-8,-7,-9,-77,-9,-114,-9,122,-9,-125,-9,-102,-9,-55,-9,5,-8,83,-8,-78,-8,28,-7,-102,-7,37,-6,-56,-6,117,-5,54,-4,3,-3,-26,-3,-45,-2,-50,-1,-39,0,-31,1,-18,2,-14,3,-13,4,-32,5,-68,6,-123,7,41,8,-83,8,14,9,71,9,92,9,71,9,15,9,-81,8,55,8,-103,7,-20,6,39,6,77,5,114,4,-120,3,-89,2,-68,1,-36,0,-13,-1,28,-1,73,-2,126,-3,-69,-4,-3,-5,74,-5,-104,-6,-13,-7,90,-7,-52,-8,75,-8,-34,-9,126,-9,61,-9,16,-9,7,-9,25,-9,81,-9,-85,-9,48,-8,-44,-8,-101,-7,-123,-6,-123,-5,-90,-4,-51,-3,18,-1,77,0,-119,1,-65,2,-35,3,-14,4,-27,5,-65,6,110,7,2,8,106,8,-77,8,-43,8,-38,8,-66,8,-122,8,55,8,-47,7,91,7,-44,6,62,6,-89,5,-5,4,81,4,-101,3,-36,2,22,2,72,1,119,0,-93,-1,-60,-2,-26,-3,8,-3,30,-4,77,-5,116,-6,-73,-7,1,-7,100,-8,-32,-9,119,-9,54,-9,14,-9,20,-9,57,-9,-125,-9,-9,-9,-127,-8,51,-7,-13,-7,-45,-6,-74,-5,-71,-4,-84,-3,-81,-2,-94,-1,-103,0,123,1,93,2,41,3,-19,3,-107,4,53,5,-64,5,63,6,-80,6,12,7,95,7,-103,7,-50,7,-23,7,-12,7,-20,7,-56,7,-104,7,66,7,-37,6,84,6,-79,5,-11,4,25,4,51,3,45,2,36,1,4,0,-30,-2,-64,-3,-91,-4,-100,-5,-102,-6,-68,-7,-20,-8,68,-8,-69,-9,90,-9,28,-9,6,-9,18,-9,67,-9,-108,-9,-4,-9,-118,-8,30,-7,-47,-7,-118,-6,84,-5,39,-4,-14,-4,-45,-3,-99,-2,126,-1,74,0,36,1,-15,1,-73,2,122,3,52,4,-27,4,-111,5,43,6,-72,6,47,7,-103,7,-28,7,33,8,56,8,59,8,24,8,-35,7,-128,7,8,7,109,6,-66,5,-10,4,31,4,54,3,65,2,75,1,69,0,80,-1,91,-2,120,-3,-103,-4,-41,-5,20,-5,119,-6,-23,-7,114,-7,20,-7,-60,-8,-110,-8,109,-8,100,-8,105,-8,-124,-8,-78,-8,-16,-8,68,-7,-86,-7,36,-6,-85,-6,72,-5,-13,-5,-79,-4,-125,-3,92,-2,66,-1,45,0,36,1,18,2,10,3,-11,3,-38,4,-87,5,103,6,15,7,-100,7,11,8,94,8,-121,8,-103,8,-127,8,75,8,-10,7,125,7,-16,6,74,6,-117,5,-60,4,-28,3,-1,2,20,2,41,1,60,0,85,-1,113,-2,-101,-3,-61,-4,4,-4,77,-5,-83,-6,20,-6,-102,-7,36,-7,-48,-8,-122,-8,94,-8,67,-8,72,-8,94,-8,-109,-8,-38,-8,64,-7,-78,-7,69,-6,-30,-6,-103,-5,95,-4,51,-3,10,-2,-17,-2,-45,-1,-71,0,-93,1,126,2,82,3,23,4,-50,4,117,5,6,6,-123,6,-20,6,56,7,112,7,-114,7,-110,7,-125,7,85,7}; }
	private static byte[] data8(){ return new byte[] {27,7,-64,6,91,6,-33,5,80,5,-78,4,4,4,77,3,-116,2,-64,1,-16,0,28,0,61,-1,105,-2,-107,-3,-56,-4,5,-4,74,-5,-100,-6,0,-6,121,-7,3,-7,-87,-8,98,-8,58,-8,38,-8,52,-8,88,-8,-100,-8,-12,-8,109,-7,-9,-7,-96,-6,80,-5,26,-4,-18,-4,-52,-3,-75,-2,-89,-1,-110,0,127,1,99,2,62,3,16,4,-50,4,-125,5,28,6,-93,6,11,7,98,7,-103,7,-74,7,-67,7,-96,7,114,7,38,7,-60,6,79,6,-69,5,38,5,113,4,-63,3,-7,2,49,2,93,1,-117,0,-69,-1,-20,-2,35,-2,97,-3,-91,-4,-11,-5,80,-5,-65,-6,59,-6,-55,-7,105,-7,29,-7,-25,-8,-61,-8,-66,-8,-59,-8,-19,-8,39,-7,122,-7,-28,-7,94,-6,-14,-6,-108,-5,69,-4,7,-3,-43,-3,-87,-2,-126,-1,88,0,52,1,5,2,-42,2,-104,3,73,4,-15,4,-128,5,0,6,108,6,-65,6,3,7,36,7,57,7,50,7,22,7,-26,6,-100,6,71,6,-42,5,94,5,-53,4,47,4,-127,3,-59,2,8,2,57,1,104,0,-110,-1,-68,-2,-35,-3,12,-3,63,-4,125,-5,-53,-6,36,-6,-107,-7,27,-7,-70,-8,121,-8,76,-8,71,-8,89,-8,-117,-8,-34,-8,66,-7,-52,-7,97,-6,18,-5,-45,-5,-101,-4,112,-3,70,-2,32,-1,-9,-1,-55,0,-105,1,89,2,11,3,-76,3,73,4,-44,4,74,5,-72,5,11,6,85,6,-122,6,-80,6,-69,6,-61,6,-86,6,-117,6,83,6,5,6,-80,5,52,5,-70,4,26,4,123,3,-61,2,3,2,53,1,97,0,-124,-1,-79,-2,-42,-3,16,-3,69,-4,-106,-5,-22,-6,91,-6,-30,-7,-126,-7,54,-7,12,-7,-15,-8,-6,-8,20,-7,73,-7,-113,-7,-20,-7,85,-6,-42,-6,90,-5,-16,-5,-120,-4,46,-3,-43,-3,-124,-2,61,-1,-17,-1,-87,0,91,1,24,2,-58,2,126,3,38,4,-58,4,94,5,-29,5,91,6,-63,6,14,7,67,7,95,7,88,7,64,7,-3,6,-92,6,44,6,-100,5,-12,4,54,4,105,3,-113,2,-88,1,-63,0,-35,-1,-7,-2,38,-2,87,-3,-97,-4,-18,-5,88,-5,-42,-6,108,-6,19,-6,-47,-7,-94,-7,-122,-7,-126,-7,-123,-7,-92,-7,-56,-7,3,-6,71,-6,-102,-6,-4,-6,105,-5,-26,-5,106,-4,7,-3,-92,-3,84,-2,6,-1,-59,-1,-120,0,77,1,26,2,-38,2,-105,3,73,4,-21,4,126,5,-1,5,97,6,-76,6,-33,6,-4,6,-13,6,-43,6,-104,6,71,6,-33,5,100,5,-40,4,65,4,-99,3,-16,2,66,2,-113,1,-30,0,47,0,-120,-1,-42,-2,56,-2,-104,-3,3,-3,115,-4,-20,-5,106,-5,-12,-6,-119,-6,39,-6,-36,-7,-105,-7,105,-7,83,-7,72,-7,96,-7,-119,-7,-50,-7,45,-6,-93,-6,56,-5,-36,-5,-105,-4,97,-3,54,-2,25,-1,-7,-1,-28,0,-60,1,-106,2,100,3,21,4,-64,4,74,5,-57,5,28,6,101,6,-116,6,-99,6,-101,6,124,6,82,6,14,6,-63,5,98,5,-5,4,-128,4,7,4,124,3,-12,2,92,2,-59,1,37,1,124,0,-44,-1,41,-1,-128,-2,-47,-3,45,-3,-128,-4,-24,-5,84,-5,-48,-6,91,-6,-8,-7,-84,-7,116,-7,86,-7,85,-7,106,-7,-99,-7,-27,-7,74,-6,-66,-6,83,-5,-29,-5,-106,-4,64,-3,-4,-3,-69,-2,119,-1,47,0,-29,0,-115,1,47,2,-52,2,86,3,-34,3,75,4,-72,4,16,5,94,5,-95,5,-45,5,-10,5,15,6,16,6,12,6,-22,5,-62,5,121,5,46,5,-65,4,75,4,-69,3,25,3,109,2,-80,1,-19,0,28,0,82,-1,122,-2,-81,-3,-24,-4,46,-4,-120,-5,-18,-6,110,-6,4,-6,-79,-7,123,-7,94,-7,93,-7,114,-7,-94,-7,-24,-7,63,-6,-85,-6,34,-5,-87,-5,56,-4,-46,-4,112,-3,22,-2,-74,-2,97,-1,0,0,-86,0,73,1,-21,1,-127,2,20,3,-98,3,34,4,-105,4,8,5,100,5,-76,5,-15,5,25,6,52,6,48,6,32,6,-14,5,-80,5,92,5,-17,4,113,4,-31,3,62,3,-101,2,-29,1,49,1,113,0,-70,-1,-1,-2,75,-2,-86,-3,6,-3,124,-4,-11,-5,-124,-5,29,-5,-48,-6,-118,-6,94,-6,58,-6,47,-6,44,-6,64,-6,95,-6,-113,-6,-48,-6,26,-5,124,-5,-28,-5,95,-4,-31,-4,115,-3,13,-2,-80,-2,100,-1,19,0,-58,0,-128,1,43,2,-32,2,-127,3,34,4,-83,4,44,5,-112,5,-18,5,36,6,82,6,94,6,85,6,54,6,-5,5,-80,5,74,5,-41,4,79,4,-65,3,33,3,123,2,-50,1,30,1,103,0,-66,-1,14,-1,104,-2,-53,-3,44,-3}; }
	private static byte[] data9(){ return new byte[] {-91,-4,25,-4,-85,-5,64,-5,-24,-6,-97,-6,103,-6,60,-6,39,-6,37,-6,49,-6,87,-6,-123,-6,-47,-6,36,-5,-112,-5,4,-4,-118,-4,25,-3,-75,-3,92,-2,6,-1,-80,-1,95,0,10,1,-80,1,89,2,-19,2,126,3,-3,3,113,4,-44,4,40,5,105,5,-102,5,-75,5,-63,5,-73,5,-97,5,113,5,52,5,-23,4,-115,4,37,4,-83,3,47,3,-99,2,14,2,113,1,-46,0,50,0,-116,-1,-21,-2,69,-2,-86,-3,20,-3,-119,-4,3,-4,-111,-5,36,-5,-52,-6,-122,-6,77,-6,48,-6,28,-6,38,-6,60,-6,109,-6,-83,-6,1,-5,102,-5,-36,-5,100,-4,-13,-4,-109,-3,51,-2,-32,-2,-113,-1,61,0,-13,0,-101,1,67,2,-33,2,112,3,-5,3,108,4,-35,4,48,5,116,5,-88,5,-63,5,-48,5,-64,5,-90,5,115,5,49,5,-34,4,122,4,10,4,-119,3,3,3,111,2,-35,1,59,1,-92,0,-6,-1,96,-1,-62,-2,46,-2,-101,-3,21,-3,-108,-4,30,-4,-75,-5,93,-5,10,-5,-41,-6,-98,-6,-116,-6,120,-6,-122,-6,-104,-6,-57,-6,-2,-6,76,-5,-85,-5,18,-4,-112,-4,16,-3,-95,-3,57,-2,-45,-2,125,-1,30,0,-62,0,98,1,-3,1,-112,2,30,3,-99,3,17,4,115,4,-56,4,14,5,64,5,103,5,117,5,118,5,101,5,68,5,15,5,-46,4,122,4,35,4,-77,3,64,3,-68,2,52,2,-100,1,4,1,103,0,-61,-1,38,-1,-127,-2,-25,-3,74,-3,-72,-4,52,-4,-72,-5,76,-5,-14,-6,-92,-6,114,-6,74,-6,69,-6,70,-6,109,-6,-102,-6,-26,-6,65,-5,-87,-5,41,-4,-85,-4,62,-3,-37,-3,121,-2,25,-1,-65,-1,86,0,-8,0,-119,1,26,2,-94,2,21,3,-117,3,-27,3,70,4,-123,4,-52,4,-15,4,22,5,40,5,39,5,34,5,2,5,-35,4,-93,4,93,4,8,4,-91,3,54,3,-75,2,46,2,-99,1,5,1,106,0,-59,-1,38,-1,-128,-2,-21,-3,87,-3,-52,-4,82,-4,-34,-5,-127,-5,46,-5,-10,-6,-54,-6,-77,-6,-79,-6,-67,-6,-34,-6,14,-5,78,-5,-103,-5,-11,-5,86,-4,-55,-4,62,-3,-69,-3,61,-2,-61,-2,79,-1,-40,-1,109,0,-10,0,-122,1,11,2,-107,2,18,3,-115,3,0,4,97,4,-70,4,5,5,60,5,101,5,122,5,118,5,102,5,57,5,-5,4,-86,4,62,4,-50,3,64,3,-74,2,18,2,118,1,-54,0,32,0,122,-1,-41,-2,66,-2,-85,-3,46,-3,-84,-4,72,-4,-23,-5,-93,-5,98,-5,60,-5,23,-5,15,-5,8,-5,27,-5,48,-5,90,-5,-118,-5,-56,-5,23,-4,101,-4,-53,-4,46,-3,-93,-3,32,-2,-94,-2,50,-1,-67,-1,81,0,-26,0,121,1,11,2,-98,2,28,3,-99,3,4,4,107,4,-75,4,-9,4,30,5,54,5,56,5,39,5,4,5,-52,4,-123,4,46,4,-52,3,93,3,-24,2,103,2,-27,1,90,1,-41,0,75,0,-56,-1,67,-1,-62,-2,67,-2,-53,-3,91,-3,-17,-4,-115,-4,48,-4,-31,-5,-107,-5,91,-5,43,-5,12,-5,-10,-6,-7,-6,5,-5,41,-5,92,-5,-97,-5,-6,-5,96,-4,-41,-4,98,-3,-16,-3,-112,-2,45,-1,-44,-1,122,0,30,1,-63,1,81,2,-32,2,90,3,-52,3,40,4,119,4,-75,4,-38,4,-11,4,-8,4,-16,4,-45,4,-82,4,119,4,53,4,-20,3,-110,3,57,3,-51,2,100,2,-17,1,122,1,-4,0,125,0,-2,-1,114,-1,-14,-2,109,-2,-19,-3,114,-3,-6,-4,-118,-4,40,-4,-52,-5,-122,-5,71,-5,31,-5,5,-5,0,-5,12,-5,46,-5,93,-5,-93,-5,-10,-5,90,-4,-52,-4,66,-3,-58,-3,77,-2,-40,-2,101,-1,-11,-1,127,0,3,1,-125,1,-6,1,108,2,-45,2,54,3,-122,3,-43,3,16,4,71,4,112,4,-116,4,-98,4,-93,4,-104,4,-122,4,94,4,45,4,-20,3,-102,3,67,3,-44,2,99,2,-32,1,84,1,-61,0,44,0,-106,-1,-6,-2,104,-2,-46,-3,76,-3,-55,-4,90,-4,-9,-5,-94,-5,100,-5,50,-5,23,-5,12,-5,23,-5,47,-5,93,-5,-109,-5,-30,-5,50,-4,-107,-4,-4,-4,107,-3,-31,-3,91,-2,-35,-2,88,-1,-34,-1,84,0,-37,0,77,1,-49,1,58,2,-83,2,13,3,110,3,-66,3,11,4,69,4,120,4,-103,4,-86,4,-81,4,-95,4,-128,4,88,4,18,4,-50,3,106,3,9,3,-109,2,21,2,-109,1,9,1,-128,0,-13,-1,107,-1,-29,-2,97,-2,-27,-3,118,-3,16,-3,-78,-4,100,-4,27,-4,-25,-5,-67,-5,-98,-5,-110,-5,-120,-5,-102,-5,-85,-5,-47,-5,1,-4,56,-4,-126,-4}; }
	private static byte[] data10(){ return new byte[] {-46,-4,45,-3,-104,-3,1,-2,120,-2,-10,-2,115,-1,-4,-1,-122,0,10,1,-108,1,15,2,-110,2,-2,2,110,3,-55,3,28,4,93,4,-115,4,-80,4,-67,4,-66,4,-90,4,-122,4,77,4,13,4,-73,3,93,3,-18,2,-128,2,1,2,-120,1,1,1,-128,0,-10,-1,116,-1,-12,-2,122,-2,3,-2,-107,-3,49,-3,-51,-4,-127,-4,52,-4,-5,-5,-52,-5,-86,-5,-107,-5,-112,-5,-107,-5,-81,-5,-49,-5,4,-4,65,-4,-113,-4,-24,-4,70,-3,-75,-3,38,-2,-95,-2,29,-1,-90,-1,33,0,-84,0,35,1,-93,1,22,2,-121,2,-20,2,68,3,-105,3,-44,3,16,4,50,4,81,4,92,4,89,4,75,4,43,4,3,4,-55,3,-122,3,57,3,-31,2,127,2,26,2,-91,1,52,1,-76,0,64,0,-66,-1,70,-1,-55,-2,84,-2,-34,-3,115,-3,15,-3,-74,-4,100,-4,34,-4,-25,-5,-67,-5,-92,-5,-109,-5,-105,-5,-89,-5,-57,-5,-11,-5,53,-4,120,-4,-43,-4,47,-3,-99,-3,19,-2,-118,-2,10,-1,-117,-1,13,0,-108,0,15,1,-107,1,4,2,125,2,-37,2,64,3,-118,3,-41,3,9,4,55,4,77,4,94,4,88,4,73,4,39,4,-6,3,-65,3,123,3,37,3,-48,2,102,2,-4,1,-117,1,18,1,-94,0,32,0,-81,-1,47,-1,-66,-2,77,-2,-28,-3,127,-3,39,-3,-47,-4,-117,-4,74,-4,29,-4,-13,-5,-34,-5,-46,-5,-45,-5,-27,-5,1,-4,42,-4,100,-4,-92,-4,-10,-4,78,-3,-76,-3,27,-2,-115,-2,4,-1,123,-1,-7,-1,118,0,-18,0,102,1,-44,1,67,2,-96,2,1,3,74,3,-111,3,-56,3,-14,3,16,4,33,4,37,4,25,4,6,4,-35,3,-76,3,117,3,45,3,-30,2,-126,2,40,2,-70,1,80,1,-39,0,100,0,-26,-1,112,-1,-10,-2,-128,-2,13,-2,-96,-3,56,-3,-34,-4,-118,-4,70,-4,12,-4,-32,-5,-59,-5,-75,-5,-68,-5,-55,-5,-14,-5,26,-4,96,-4,-88,-4,0,-3,99,-3,-56,-3,61,-2,-85,-2,44,-1,-95,-1,24,0,-107,0,-4,0,119,1,-45,1,62,2,-110,2,-28,2,39,3,103,3,-106,3,-64,3,-37,3,-21,3,-14,3,-21,3,-40,3,-68,3,-112,3,94,3,28,3,-46,2,126,2,34,2,-68,1,78,1,-38,0,103,0,-20,-1,119,-1,-3,-2,-120,-2,23,-2,-78,-3,78,-3,-4,-4,-83,-4,115,-4,60,-4,28,-4,4,-4,-4,-5,3,-4,20,-4,54,-4,98,-4,-104,-4,-38,-4,33,-3,119,-3,-53,-3,48,-2,-110,-2,-9,-2,101,-1,-50,-1,60,0,-85,0,23,1,126,1,-24,1,67,2,-91,2,-13,2,70,3,-124,3,-67,3,-25,3,6,4,21,4,24,4,7,4,-17,3,-67,3,-119,3,60,3,-20,2,-120,2,32,2,-82,1,58,1,-68,0,70,0,-59,-1,79,-1,-43,-2,108,-2,1,-2,-91,-3,82,-3,1,-3,-54,-4,-113,-4,108,-4,79,-4,60,-4,57,-4,61,-4,77,-4,103,-4,-116,-4,-72,-4,-13,-4,46,-3,127,-3,-59,-3,38,-2,125,-2,-27,-2,76,-1,-68,-1,42,0,-100,0,8,1,121,1,-33,1,70,2,-94,2,-7,2,61,3,-128,3,-85,3,-45,3,-26,3,-21,3,-27,3,-51,3,-86,3,122,3,62,3,-12,2,-88,2,78,2,-13,1,-113,1,44,1,-65,0,89,0,-15,-1,-120,-1,39,-1,-61,-2,102,-2,11,-2,-73,-3,105,-3,38,-3,-32,-4,-79,-4,124,-4,94,-4,65,-4,54,-4,53,-4,65,-4,93,-4,-120,-4,-68,-4,3,-3,78,-3,-86,-3,9,-2,116,-2,-30,-2,85,-1,-60,-1,55,0,-98,0,11,1,114,1,-46,1,49,2,127,2,-50,2,15,3,69,3,119,3,-109,3,-83,3,-77,3,-77,3,-96,3,-120,3,95,3,44,3,-13,2,-88,2,94,2,5,2,-90,1,68,1,-37,0,117,0,7,0,-96,-1,51,-1,-52,-2,105,-2,11,-2,-74,-3,100,-3,34,-3,-32,-4,-79,-4,-121,-4,108,-4,94,-4,87,-4,98,-4,116,-4,-105,-4,-65,-4,-8,-4,53,-3,-128,-3,-46,-3,44,-2,-120,-2,-18,-2,81,-1,-67,-1,37,0,-112,0,-7,0,88,1,-66,1,16,2,104,2,-81,2,-14,2,44,3,85,3,123,3,-115,3,-100,3,-105,3,-117,3,115,3,75,3,34,3,-31,2,-92,2,83,2,1,2,-88,1,71,1,-28,0,127,0,18,0,-82,-1,68,-1,-31,-2,-127,-2,36,-2,-47,-3,-128,-3,59,-3,-2,-4,-50,-4,-93,-4,-118,-4,117,-4,117,-4,118,-4,-115,-4,-89,-4,-47,-4,5,-3,66,-3,-119,-3,-41,-3,43,-2,-120,-2,-26,-2,74,-1,-77,-1,24,0,-127,0,-31,0,71,1,-97,1,-2,1,76,2,-106,2,-43,2}; }
	private static byte[] data11(){ return new byte[] {14,3,59,3,91,3,119,3,125,3,-125,3,115,3,94,3,59,3,15,3,-42,2,-104,2,77,2,-1,1,-89,1,75,1,-22,0,-124,0,34,0,-69,-1,88,-1,-11,-2,-104,-2,60,-2,-25,-3,-99,-3,84,-3,30,-3,-24,-4,-64,-4,-92,-4,-113,-4,-115,-4,-113,-4,-95,-4,-70,-4,-28,-4,17,-3,80,-3,-114,-3,-35,-3,44,-2,-121,-2,-26,-2,67,-1,-88,-1,10,0,111,0,-49,0,52,1,-118,1,-27,1,48,2,125,2,-72,2,-12,2,31,3,65,3,92,3,101,3,105,3,94,3,74,3,40,3,0,3,-54,2,-114,2,71,2,-2,1,-94,1,79,1,-19,0,-112,0,46,0,-55,-1,104,-1,7,-1,-85,-2,84,-2,0,-2,-74,-3,115,-3,53,-3,4,-3,-38,-4,-65,-4,-87,-4,-89,-4,-93,-4,-72,-4,-50,-4,-14,-4,34,-3,87,-3,-103,-3,-31,-3,51,-2,-126,-2,-27,-2,55,-1,-94,-1,-7,-1,100,0,-67,0,33,1,114,1,-49,1,21,2,100,2,-96,2,-41,2,6,3,37,3,66,3,76,3,82,3,72,3,54,3,23,3,-16,2,-64,2,-128,2,67,2,-12,1,-91,1,79,1,-10,0,-106,0,57,0,-44,-1,122,-1,24,-1,-62,-2,104,-2,27,-2,-53,-3,-116,-3,79,-3,30,-3,-8,-4,-42,-4,-57,-4,-73,-4,-63,-4,-57,-4,-28,-4,0,-3,50,-3,96,-3,-91,-3,-26,-3,50,-2,-121,-2,-39,-2,58,-1,-108,-1,-12,-1,81,0,-81,0,8,1,99,1,-77,1,4,2,70,2,-119,2,-69,2,-21,2,13,3,40,3,53,3,59,3,49,3,36,3,6,3,-32,2,-79,2,121,2,57,2,-12,1,-95,1,85,1,-11,0,-96,0,64,0,-27,-1,-121,-1,46,-1,-47,-2,-128,-2,45,-2,-24,-3,-92,-3,104,-3,61,-3,9,-3,-8,-4,-43,-4,-39,-4,-49,-4,-33,-4,-10,-4,17,-3,64,-3,108,-3,-84,-3,-21,-3,55,-2,-124,-2,-36,-2,48,-1,-115,-1,-25,-1,67,0,-96,0,-8,0,79,1,-99,1,-18,1,43,2,113,2,-95,2,-44,2,-14,2,17,3,27,3,39,3,25,3,19,3,-13,2,-47,2,-89,2,108,2,54,2,-22,1,-93,1,80,1,-3,0,-91,0,77,0,-16,-1,-106,-1,59,-1,-26,-2,-109,-2,72,-2,-5,-3,-65,-3,127,-3,82,-3,41,-3,8,-3,-9,-4,-25,-4,-21,-4,-15,-4,7,-3,36,-3,73,-3,123,-3,-77,-3,-12,-3,58,-2,-122,-2,-43,-2,47,-1,127,-1,-31,-1,55,0,-113,0,-24,0,56,1,-118,1,-45,1,26,2,86,2,-118,2,-70,2,-39,2,-7,2,5,3,14,3,9,3,-4,2,-28,2,-62,2,-101,2,98,2,44,2,-24,1,-98,1,86,1,-2,0,-84,0,83,0,-6,-1,-91,-1,76,-1,-8,-2,-87,-2,90,-2,18,-2,-41,-3,-106,-3,110,-3,61,-3,37,-3,9,-3,3,-3,-4,-4,6,-3,24,-3,51,-3,88,-3,-119,-3,-72,-3,-4,-3,59,-2,-121,-2,-45,-2,42,-1,123,-1,-42,-1,40,0,-126,0,-44,0,41,1,118,1,-65,1,2,2,63,2,114,2,-96,2,-60,2,-32,2,-18,2,-5,2,-14,2,-20,2,-48,2,-75,2,-117,2,91,2,36,2,-30,1,-95,1,79,1,5,1,-80,0,93,0,7,0,-79,-1,93,-1,9,-1,-70,-2,111,-2,41,-2,-20,-3,-78,-3,-127,-3,87,-3,57,-3,35,-3,22,-3,19,-3,26,-3,39,-3,71,-3,98,-3,-107,-3,-62,-3,1,-2,63,-2,-118,-2,-44,-2,34,-1,120,-1,-58,-1,33,0,113,0,-55,0,20,1,99,1,-86,1,-22,1,40,2,92,2,-119,2,-82,2,-58,2,-36,2,-32,2,-29,2,-42,2,-62,2,-90,2,127,2,81,2,28,2,-34,1,-103,1,86,1,3,1,-70,0,99,0,16,0,-66,-1,104,-1,29,-1,-54,-2,-122,-2,61,-2,2,-2,-58,-3,-102,-3,109,-3,82,-3,56,-3,44,-3,39,-3,43,-3,60,-3,83,-3,115,-3,-99,-3,-52,-3,8,-2,68,-2,-118,-2,-46,-2,30,-1,111,-1,-63,-1,21,0,102,0,-75,0,5,1,78,1,-105,1,-41,1,18,2,69,2,116,2,-109,2,-76,2,-62,2,-48,2,-52,2,-58,2,-79,2,-105,2,116,2,68,2,21,2,-40,1,-104,1,84,1,9,1,-68,0,104,0,30,0,-58,-1,123,-1,42,-1,-33,-2,-106,-2,83,-2,21,-2,-34,-3,-81,-3,-121,-3,100,-3,82,-3,60,-3,63,-3,60,-3,77,-3,99,-3,126,-3,-83,-3,-45,-3,14,-2,73,-2,-120,-2,-44,-2,29,-1,105,-1,-71,-1,9,0,88,0,-89,0,-11,0,61,1,-125,1,-61,1,-5,1,48,2,92,2,-127,2,-100,2,-82,2,-69,2,-71,2,-76,2,-94,2,-122,2,105,2,59,2,11,2,-42,1,-109,1,85,1,8,1}; }
	private static byte[] data12(){ return new byte[] {-63,0,113,0,38,0,-44,-1,-121,-1,55,-1,-15,-2,-90,-2,106,-2,39,-2,-8,-3,-64,-3,-98,-3,123,-3,98,-3,89,-3,74,-3,84,-3,93,-3,112,-3,-112,-3,-78,-3,-33,-3,21,-2,74,-2,-111,-2,-50,-2,26,-1,101,-1,-82,-1,0,0,77,0,-103,0,-27,0,44,1,111,1,-82,1,-23,1,26,2,72,2,105,2,-121,2,-101,2,-92,2,-86,2,-97,2,-109,2,122,2,90,2,51,2,3,2,-51,1,-110,1,82,1,10,1,-57,0,119,0,47,0,-36,-1,-107,-1,69,-1,3,-1,-72,-2,124,-2,59,-2,10,-2,-41,-3,-78,-3,-112,-3,122,-3,104,-3,98,-3,99,-3,110,-3,127,-3,-99,-3,-68,-3,-21,-3,25,-2,83,-2,-114,-2,-48,-2,23,-1,94,-1,-84,-1,-11,-1,65,0,-116,0,-43,0,25,1,96,1,-101,1,-44,1,6,2,50,2,84,2,116,2,-123,2,-108,2,-108,2,-111,2,-127,2,110,2,77,2,39,2,-2,1,-60,1,-109,1,77,1,17,1,-58,0,126,0,54,0,-26,-1,-92,-1,84,-1,16,-1,-53,-2,-118,-2,83,-2,27,-2,-17,-3,-59,-3,-90,-3,-116,-3,125,-3,115,-3,119,-3,123,-3,-110,-3,-89,-3,-53,-3,-16,-3,35,-2,84,-2,-110,-2,-46,-2,18,-1,94,-1,-96,-1,-18,-1,52,0,-126,0,-58,0,13,1,74,1,-118,1,-64,1,-15,1,31,2,65,2,93,2,116,2,126,2,-124,2,-128,2,113,2,96,2,65,2,30,2,-11,1,-64,1,-114,1,74,1,18,1,-57,0,-120,0,58,0,-10,-1,-88,-1,101,-1,28,-1,-33,-2,-101,-2,103,-2,44,-2,3,-2,-40,-3,-69,-3,-97,-3,-111,-3,-123,-3,-120,-3,-115,-3,-98,-3,-75,-3,-43,-3,-6,-3,41,-2,93,-2,-110,-2,-45,-2,17,-1,86,-1,-99,-1,-28,-1,44,0,116,0,-71,0,-7,0,63,1,113,1,-77,1,-35,1,9,2,47,2,73,2,96,2,109,2,113,2,111,2,99,2,82,2,54,2,20,2,-20,1,-71,1,-118,1,76,1,15,1,-48,0,-123,0,71,0,-8,-1,-71,-1,110,-1,47,-1,-20,-2,-83,-2,119,-2,65,-2,22,-2,-20,-3,-50,-3,-77,-3,-93,-3,-104,-3,-104,-3,-99,-3,-84,-3,-62,-3,-33,-3,6,-2,45,-2,98,-2,-105,-2,-49,-2,19,-1,80,-1,-103,-1,-36,-1,33,0,104,0,-86,0,-19,0,45,1,101,1,-101,1,-50,1,-12,1,28,2,54,2,76,2,93,2,93,2,98,2,82,2,68,2,42,2,9,2,-28,1,-75,1,-123,1,75,1,14,1,-47,0,-116,0,76,0,4,0,-62,-1,124,-1,60,-1,-7,-2,-64,-2,-121,-2,84,-2,41,-2,-1,-3,-33,-3,-56,-3,-78,-3,-83,-3,-90,-3,-82,-3,-71,-3,-47,-3,-24,-3,16,-2,51,-2,103,-2,-102,-2,-46,-2,18,-1,77,-1,-110,-1,-43,-1,22,0,94,0,-97,0,-35,0,31,1,81,1,-115,1,-75,1,-22,1,2,2,41,2,56,2,72,2,82,2,76,2,72,2,53,2,30,2,1,2,-38,1,-78,1,126,1,73,1,14,1,-44,0,-111,0,83,0,11,0,-54,-1,-120,-1,73,-1,9,-1,-48,-2,-103,-2,100,-2,59,-2,16,-2,-11,-3,-41,-3,-56,-3,-70,-3,-71,-3,-68,-3,-56,-3,-36,-3,-13,-3,26,-2,57,-2,112,-2,-104,-2,-41,-2,13,-1,76,-1,-117,-1,-50,-1,16,0,82,0,-110,0,-49,0,14,1,67,1,125,1,-91,1,-43,1,-14,1,22,2,36,2,59,2,61,2,64,2,55,2,41,2,18,2,-9,1,-46,1,-87,1,123,1,71,1,15,1,-42,0,-107,0,85,0,22,0,-45,-1,-107,-1,85,-1,25,-1,-34,-2,-89,-2,120,-2,75,-2,36,-2,6,-2,-24,-3,-38,-3,-53,-3,-55,-3,-54,-3,-41,-3,-26,-3,2,-2,29,-2,72,-2,109,-2,-94,-2,-45,-2,15,-1,74,-1,-121,-1,-57,-1,8,0,69,0,-121,0,-61,0,-1,0,54,1,104,1,-104,1,-65,1,-27,1,1,2,22,2,41,2,44,2,49,2,40,2,30,2,4,2,-17,1,-56,1,-92,1,121,1,65,1,19,1,-47,0,-99,0,89,0,31,0,-35,-1,-97,-1,95,-1,38,-1,-20,-2,-70,-2,-121,-2,93,-2,53,-2,21,-2,-3,-3,-24,-3,-34,-3,-42,-3,-36,-3,-31,-3,-10,-3,9,-2,41,-2,76,-2,116,-2,-91,-2,-42,-2,13,-1,73,-1,-128,-1,-61,-1,-4,-1,63,0,124,0,-75,0,-14,0,37,1,89,1,-121,1,-81,1,-44,1,-18,1,8,2,19,2,33,2,31,2,29,2,14,2,-4,1,-29,1,-63,1,-97,1,112,1,66,1,16,1,-45,0,-95,0,95,0,36,0,-26,-1,-89,-1,110,-1,50,-1,-4,-2,-58,-2,-103,-2,105,-2,74,-2,37,-2,13,-2,-5,-3,-21,-3}; }
	private static byte[] data13(){ return new byte[] {-24,-3,-23,-3,-17,-3,1,-2,20,-2,51,-2,80,-2,127,-2,-92,-2,-36,-2,8,-1,72,-1,125,-1,-66,-1,-9,-1,52,0,111,0,-85,0,-29,0,24,1,74,1,118,1,-97,1,-61,1,-35,1,-9,1,5,2,15,2,19,2,12,2,4,2,-15,1,-41,1,-68,1,-108,1,111,1,63,1,13,1,-38,0,-98,0,101,0,43,0,-20,-1,-75,-1,119,-1,64,-1,7,-1,-41,-2,-90,-2,125,-2,87,-2,56,-2,29,-2,11,-2,-6,-3,-8,-3,-12,-3,0,-2,11,-2,32,-2,58,-2,91,-2,-128,-2,-85,-2,-39,-2,14,-1,68,-1,123,-1,-74,-1,-17,-1,44,0,101,0,-93,0,-46,0,14,1,55,1,106,1,-115,1,-78,1,-48,1,-30,1,-6,1,-2,1,3,2,1,2,-11,1,-26,1,-48,1,-79,1,-111,1,104,1,61,1,10,1,-37,0,-96,0,108,0,48,0,-11,-1,-66,-1,127,-1,79,-1,19,-1,-26,-2,-75,-2,-116,-2,103,-2,71,-2,45,-2,25,-2,13,-2,3,-2,7,-2,8,-2,25,-2,41,-2,68,-2,96,-2,-119,-2,-84,-2,-32,-2,10,-1,69,-1,117,-1,-79,-1,-22,-1,35,0,93,0,-109,0,-53,0,-5,0,44,1,89,1,127,1,-93,1,-66,1,-43,1,-25,1,-15,1,-11,1,-13,1,-23,1,-36,1,-59,1,-86,1,-117,1,96,1,61,1,8,1,-37,0,-91,0,109,0,53,0,-2,-1,-61,-1,-114,-1,87,-1,35,-1,-14,-2,-61,-2,-100,-2,116,-2,90,-2,59,-2,42,-2,26,-2,20,-2,16,-2,26,-2,32,-2,53,-2,77,-2,103,-2,-113,-2,-80,-2,-31,-2,12,-1,64,-1,117,-1,-83,-1,-30,-1,29,0,81,0,-119,0,-67,0,-14,0,29,1,75,1,113,1,-112,1,-79,1,-59,1,-40,1,-28,1,-26,1,-26,1,-34,1,-48,1,-69,1,-93,1,-126,1,96,1,54,1,9,1,-38,0,-91,0,115,0,58,0,6,0,-52,-1,-104,-1,98,-1,45,-1,2,-1,-49,-2,-84,-2,-123,-2,101,-2,77,-2,55,-2,41,-2,36,-2,26,-2,42,-2,39,-2,69,-2,80,-2,115,-2,-112,-2,-73,-2,-30,-2,14,-1,64,-1,114,-1,-88,-1,-37,-1,22,0,71,0,-126,0,-79,0,-30,0,20,1,56,1,100,1,-125,1,-97,1,-70,1,-58,1,-42,1,-39,1,-38,1,-47,1,-58,1,-78,1,-101,1,124,1,91,1,49,1,9,1,-39,0,-88,0,118,0,64,0,11,0,-44,-1,-96,-1,109,-1,59,-1,12,-1,-32,-2,-73,-2,-108,-2,116,-2,92,-2,69,-2,57,-2,46,-2,46,-2,46,-2,58,-2,71,-2,95,-2,118,-2,-102,-2,-72,-2,-25,-2,13,-1,63,-1,112,-1,-95,-1,-37,-1,10,0,66,0,117,0,-90,0,-39,0,2,1,49,1,81,1,121,1,-115,1,-83,1,-74,1,-54,1,-53,1,-51,1,-57,1,-71,1,-85,1,-111,1,118,1,85,1,47,1,6,1,-38,0,-86,0,120,0,68,0,17,0,-34,-1,-88,-1,121,-1,68,-1,26,-1,-21,-2,-57,-2,-96,-2,-123,-2,104,-2,86,-2,68,-2,62,-2,56,-2,61,-2,67,-2,82,-2,102,-2,-128,-2,-99,-2,-65,-2,-26,-2,15,-1,64,-1,110,-1,-96,-1,-48,-1,8,0,54,0,110,0,-101,0,-51,0,-9,0,33,1,71,1,102,1,-124,1,-100,1,-85,1,-70,1,-66,1,-61,1,-71,1,-78,1,-98,1,-117,1,112,1,79,1,45,1,3,1,-37,0,-88,0,126,0,70,0,26,0,-29,-1,-78,-1,-128,-1,80,-1,36,-1,-6,-2,-45,-2,-80,-2,-113,-2,121,-2,97,-2,85,-2,73,-2,70,-2,70,-2,81,-2,90,-2,113,-2,-124,-2,-92,-2,-62,-2,-21,-2,17,-1,62,-1,108,-1,-100,-1,-52,-1,-1,-1,49,0,100,0,-110,0,-64,0,-20,0,19,1,58,1,90,1,117,1,-114,1,-98,1,-84,1,-78,1,-75,1,-81,1,-89,1,-105,1,-126,1,105,1,75,1,38,1,4,1,-41,0,-83,0,126,0,77,0,28,0,-20,-1,-71,-1,-118,-1,93,-1,45,-1,7,-1,-33,-2,-69,-2,-95,-2,-125,-2,112,-2,98,-2,86,-2,82,-2,83,-2,89,-2,102,-2,118,-2,-113,-2,-89,-2,-55,-2,-19,-2,17,-1,63,-1,105,-1,-103,-1,-54,-1,-8,-1,43,0,89,0,-118,0,-77,0,-29,0,5,1,48,1,73,1,107,1,125,1,-108,1,-100,1,-87,1,-90,1,-90,1,-99,1,-116,1,125,1,95,1,72,1,35,1,1,1,-41,0,-82,0,-128,0,80,0,35,0,-15,-1,-63,-1,-106,-1,98,-1,61,-1,15,-1,-19,-2,-56,-2,-82,-2,-111,-2,125,-2,111,-2,97,-2,96,-2,92,-2,102,-2,109,-2,-125,-2,-111,-2,-79,-2,-53,-2,-17,-2,21,-1,62,-1,105,-1,-106,-1,-61,-1,-11,-1,33,0}; }
	private static byte[] data14(){ return new byte[] {84,0,126,0,-83,0,-44,0,-3,0,31,1,63,1,92,1,114,1,-123,1,-109,1,-104,1,-97,1,-104,1,-108,1,-124,1,115,1,92,1,64,1,34,1,-4,0,-40,0,-84,0,-125,0,84,0,40,0,-9,-1,-53,-1,-102,-1,111,-1,69,-1,28,-1,-6,-2,-45,-2,-70,-2,-99,-2,-115,-2,119,-2,114,-2,104,-2,106,-2,111,-2,119,-2,-119,-2,-101,-2,-76,-2,-46,-2,-14,-2,22,-1,63,-1,102,-1,-108,-1,-64,-1,-19,-1,30,0,73,0,119,0,-95,0,-53,0,-18,0,23,1,48,1,82,1,99,1,122,1,-124,1,-113,1,-111,1,-112,1,-120,1,125,1,106,1,87,1,58,1,30,1,-7,0,-40,0,-85,0,-119,0,82,0,48,0,-7,-1,-44,-1,-94,-1,121,-1,80,-1,38,-1,5,-1,-32,-2,-58,-2,-85,-2,-106,-2,-120,-2,123,-2,117,-2,117,-2,119,-2,-126,-2,-111,-2,-96,-2,-67,-2,-44,-2,-10,-2,25,-1,61,-1,101,-1,-109,-1,-70,-1,-19,-1,18,0,69,0,106,0,-99,0,-69,0,-20,0,1,1,46,1,60,1,95,1,103,1,126,1,127,1,-118,1,-127,1,-125,1,112,1,102,1,77,1,55,1,24,1,-7,0,-42,0,-85,0,-119,0,86,0,53,0,-1,-1,-38,-1,-85,-1,-126,-1,88,-1,50,-1,15,-1,-20,-2,-44,-2,-76,-2,-91,-2,-111,-2,-120,-2,-127,-2,125,-2,-124,-2,-119,-2,-102,-2,-87,-2,-65,-2,-37,-2,-9,-2,29,-1,61,-1,103,-1,-114,-1,-72,-1,-27,-1,15,0,59,0,103,0,-114,0,-74,0,-37,0,-4,0,27,1,56,1,76,1,97,1,109,1,119,1,125,1,121,1,118,1,107,1,92,1,73,1,48,1,22,1,-12,0,-42,0,-85,0,-118,0,91,0,54,0,7,0,-34,-1,-77,-1,-118,-1,97,-1,63,-1,23,-1,-6,-2,-36,-2,-62,-2,-79,-2,-100,-2,-107,-2,-119,-2,-116,-2,-118,-2,-108,-2,-95,-2,-81,-2,-57,-2,-34,-2,-4,-2,30,-1,61,-1,104,-1,-120,-1,-71,-1,-35,-1,14,0,48,0,98,0,-127,0,-80,0,-50,0,-12,0,16,1,42,1,67,1,83,1,99,1,108,1,112,1,114,1,107,1,100,1,83,1,68,1,40,1,20,1,-15,0,-44,0,-84,0,-118,0,95,0,56,0,13,0,-28,-1,-69,-1,-110,-1,108,-1,69,-1,36,-1,4,-1,-25,-2,-48,-2,-71,-2,-85,-2,-100,-2,-104,-2,-110,-2,-104,-2,-101,-2,-89,-2,-71,-2,-53,-2,-27,-2,-1,-2,29,-1,65,-1,100,-1,-115,-1,-79,-1,-35,-1,3,0,46,0,85,0,127,0,-94,0,-55,0,-28,0,8,1,30,1,54,1,76,1,84,1,100,1,100,1,105,1,98,1,91,1,75,1,62,1,37,1,13,1,-14,0,-50,0,-80,0,-121,0,98,0,61,0,17,0,-21,-1,-63,-1,-104,-1,118,-1,77,-1,48,-1,14,-1,-13,-2,-38,-2,-60,-2,-74,-2,-87,-2,-96,-2,-98,-2,-96,-2,-93,-2,-78,-2,-67,-2,-47,-2,-22,-2,1,-1,33,-1,65,-1,102,-1,-121,-1,-78,-1,-42,-1,-2,-1,41,0,79,0,116,0,-100,0,-69,0,-34,0,-6,0,22,1,42,1,64,1,74,1,88,1,91,1,94,1,90,1,82,1,69,1,55,1,31,1,11,1,-20,0,-50,0,-81,0,-121,0,104,0,60,0,24,0,-17,-1,-57,-1,-94,-1,124,-1,90,-1,54,-1,25,-1,-3,-2,-27,-2,-48,-2,-63,-2,-79,-2,-82,-2,-91,-2,-86,-2,-83,-2,-74,-2,-56,-2,-44,-2,-17,-2,6,-1,34,-1,68,-1,98,-1,-118,-1,-85,-1,-41,-1,-8,-1,35,0,72,0,108,0,-109,0,-77,0,-45,0,-13,0,7,1,35,1,50,1,66,1,77,1,82,1,83,1,83,1,72,1,65,1,45,1,29,1,4,1,-21,0,-52,0,-82,0,-118,0,102,0,67,0,23,0,-6,-1,-56,-1,-81,-1,127,-1,101,-1,63,-1,34,-1,9,-1,-19,-2,-34,-2,-55,-2,-67,-2,-73,-2,-82,-2,-75,-2,-77,-2,-63,-2,-53,-2,-34,-2,-17,-2,13,-1,34,-1,70,-1,99,-1,-120,-1,-86,-1,-48,-1,-9,-1,26,0,68,0,101,0,-119,0,-84,0,-55,0,-25,0,-2,0,25,1,37,1,60,1,62,1,75,1,74,1,71,1,69,1,52,1,44,1,21,1,1,1,-23,0,-56,0,-82,0,-118,0,104,0,69,0,30,0,-6,-1,-43,-1,-81,-1,-117,-1,107,-1,73,-1,45,-1,18,-1,-8,-2,-26,-2,-45,-2,-54,-2,-67,-2,-67,-2,-72,-2,-65,-2,-57,-2,-46,-2,-29,-2,-10,-2,13,-1,41,-1,69,-1,100,-1,-122,-1,-88,-1,-51,-1,-14,-1,23,0,59,0,94,0,-126,0,-94,0,-64,0,-35,0,-10,0,13,1,29,1,48,1,53,1,64,1,67,1,61,1,62,1,46,1}; }
	private static byte[] data15(){ return new byte[] {35,1,19,1,-5,0,-26,0,-57,0,-84,0,-117,0,106,0,71,0,34,0,-2,-1,-38,-1,-75,-1,-107,-1,115,-1,81,-1,55,-1,24,-1,7,-1,-20,-2,-30,-2,-49,-2,-54,-2,-61,-2,-60,-2,-59,-2,-48,-2,-42,-2,-22,-2,-5,-2,17,-1,43,-1,70,-1,99,-1,-122,-1,-89,-1,-54,-1,-18,-1,17,0,52,0,90,0,118,0,-97,0,-76,0,-42,0,-21,0,2,1,22,1,34,1,48,1,52,1,58,1,55,1,52,1,40,1,30,1,10,1,-5,0,-34,0,-53,0,-89,0,-115,0,106,0,73,0,38,0,3,0,-33,-1,-67,-1,-100,-1,119,-1,93,-1,61,-1,37,-1,14,-1,-8,-2,-24,-2,-36,-2,-47,-2,-50,-2,-53,-2,-49,-2,-44,-2,-31,-2,-20,-2,2,-1,19,-1,45,-1,73,-1,100,-1,-121,-1,-94,-1,-54,-1,-25,-1,13,0,49,0,79,0,118,0,-114,0,-78,0,-55,0,-29,0,-7,0,11,1,26,1,37,1,44,1,49,1,46,1,46,1,31,1,26,1,5,1,-11,0,-33,0,-61,0,-85,0,-119,0,111,0,72,0,44,0,6,0,-29,-1,-60,-1,-96,-1,-125,-1,99,-1,70,-1,48,-1,18,-1,8,-1,-20,-2,-24,-2,-36,-2,-46,-2,-39,-2,-46,-2,-34,-2,-26,-2,-13,-2,3,-1,27,-1,47,-1,73,-1,103,-1,-127,-1,-90,-1,-61,-1,-25,-1,8,0,41,0,76,0,107,0,-118,0,-89,0,-62,0,-37,0,-18,0,3,1,15,1,29,1,35,1,41,1,36,1,40,1,24,1,20,1,0,1,-15,0,-39,0,-59,0,-91,0,-114,0,109,0,75,0,47,0,7,0,-19,-1,-58,-1,-86,-1,-121,-1,110,-1,75,-1,59,-1,27,-1,14,-1,-5,-2,-19,-2,-27,-2,-35,-2,-35,-2,-34,-2,-29,-2,-20,-2,-8,-2,11,-1,27,-1,51,-1,75,-1,101,-1,-122,-1,-96,-1,-60,-1,-30,-1,3,0,37,0,69,0,100,0,-124,0,-99,0,-69,0,-47,0,-27,0,-4,0,3,1,23,1,25,1,31,1,33,1,27,1,22,1,12,1,-6,0,-17,0,-43,0,-62,0,-88,0,-120,0,112,0,78,0,47,0,16,0,-19,-1,-50,-1,-81,-1,-115,-1,118,-1,84,-1,67,-1,36,-1,24,-1,1,-1,-7,-2,-20,-2,-25,-2,-28,-2,-26,-2,-23,-2,-12,-2,-2,-2,12,-1,34,-1,51,-1,79,-1,102,-1,-124,-1,-96,-1,-63,-1,-34,-1,0,0,31,0,65,0,92,0,125,0,-106,0,-78,0,-56,0,-33,0,-18,0,0,1,10,1,18,1,23,1,23,1,22,1,14,1,6,1,-9,0,-24,0,-44,0,-67,0,-90,0,-117,0,111,0,79,0,53,0,13,0,-8,-1,-48,-1,-75,-1,-105,-1,121,-1,96,-1,71,-1,47,-1,31,-1,11,-1,1,-1,-11,-2,-17,-2,-20,-2,-19,-2,-16,-2,-6,-2,2,-1,20,-1,34,-1,58,-1,77,-1,105,-1,-125,-1,-97,-1,-65,-1,-36,-1,-5,-1,29,0,56,0,88,0,116,0,-112,0,-86,0,-64,0,-42,0,-26,0,-9,0,1,1,11,1,14,1,17,1,13,1,10,1,-2,0,-12,0,-31,0,-44,0,-72,0,-88,0,-121,0,114,0,80,0,53,0,21,0,-9,-1,-39,-1,-71,-1,-98,-1,127,-1,105,-1,76,-1,59,-1,37,-1,22,-1,7,-1,-1,-2,-12,-2,-8,-2,-15,-2,-7,-2,-2,-2,10,-1,21,-1,43,-1,54,-1,86,-1,100,-1,-122,-1,-98,-1,-68,-1,-37,-1,-10,-1,24,0,51,0,82,0,112,0,-122,0,-91,0,-75,0,-48,0,-36,0,-15,0,-10,0,5,1,5,1,10,1,7,1,1,1,-4,0,-22,0,-29,0,-53,0,-69,0,-94,0,-119,0,112,0,83,0,55,0,25,0,-6,-1,-34,-1,-66,-1,-91,-1,-122,-1,111,-1,87,-1,63,-1,48,-1,27,-1,18,-1,5,-1,0,-1,-6,-2,-4,-2,-2,-2,5,-1,15,-1,26,-1,44,-1,61,-1,85,-1,104,-1,-123,-1,-99,-1,-70,-1,-41,-1,-10,-1,15,0,51,0,73,0,106,0,-128,0,-101,0,-80,0,-58,0,-41,0,-28,0,-12,0,-9,0,2,1,-1,0,2,1,-4,0,-13,0,-23,0,-36,0,-56,0,-70,0,-98,0,-118,0,112,0,85,0,55,0,30,0,-5,-1,-28,-1,-60,-1,-87,-1,-112,-1,116,-1,93,-1,74,-1,51,-1,41,-1,22,-1,15,-1,7,-1,1,-1,4,-1,3,-1,12,-1,20,-1,30,-1,50,-1,62,-1,87,-1,105,-1,-122,-1,-102,-1,-68,-1,-45,-1,-14,-1,14,0,41,0,72,0,97,0,124,0,-109,0,-87,0,-66,0,-50,0,-33,0,-24,0,-12,0,-10,0,-5,0,-5,0,-11,0,-18,0,-28,0,-41,0,-58,0,-73,0,-101,0,-115,0,108,0,88,0,57,0,30,0,4,0,-28,-1,-52,-1,-82,-1,-108,-1,124,-1}; }
	private static byte[] data16(){ return new byte[] {102,-1,78,-1,65,-1,42,-1,33,-1,22,-1,12,-1,13,-1,7,-1,12,-1,16,-1,25,-1,36,-1,52,-1,66,-1,88,-1,107,-1,-122,-1,-100,-1,-72,-1,-46,-1,-18,-1,10,0,37,0,67,0,91,0,116,0,-114,0,-96,0,-73,0,-57,0,-43,0,-29,0,-21,0,-17,0,-11,0,-14,0,-15,0,-25,0,-30,0,-49,0,-57,0,-80,0,-98,0,-120,0,111,0,86,0,62,0,31,0,8,0,-25,-1,-48,-1,-76,-1,-102,-1,-123,-1,105,-1,89,-1,67,-1,55,-1,38,-1,31,-1,19,-1,19,-1,14,-1,20,-1,19,-1,34,-1,37,-1,57,-1,69,-1,90,-1,110,-1,-123,-1,-101,-1,-73,-1,-50,-1,-18,-1,5,0,35,0,58,0,87,0,110,0,-121,0,-102,0,-80,0,-65,0,-49,0,-38,0,-29,0,-22,0,-19,0,-21,0,-20,0,-31,0,-34,0,-53,0,-62,0,-81,0,-102,0,-118,0,109,0,89,0,61,0,35,0,9,0,-18,-1,-44,-1,-72,-1,-93,-1,-122,-1,117,-1,93,-1,77,-1,59,-1,48,-1,36,-1,29,-1,24,-1,22,-1,23,-1,29,-1,34,-1,46,-1,57,-1,75,-1,90,-1,112,-1,-123,-1,-101,-1,-73,-1,-51,-1,-23,-1,3,0,29,0,55,0,82,0,103,0,127,0,-105,0,-92,0,-67,0,-61,0,-42,0,-38,0,-27,0,-28,0,-25,0,-28,0,-34,0,-42,0,-54,0,-67,0,-84,0,-100,0,-124,0,113,0,87,0,63,0,38,0,12,0,-14,-1,-40,-1,-66,-1,-91,-1,-112,-1,120,-1,103,-1,81,-1,69,-1,53,-1,44,-1,36,-1,30,-1,29,-1,30,-1,33,-1,41,-1,48,-1,64,-1,74,-1,96,-1,111,-1,-122,-1,-99,-1,-78,-1,-49,-1,-28,-1,-1,-1,27,0,49,0,77,0,98,0,121,0,-114,0,-95,0,-79,0,-63,0,-53,0,-42,0,-36,0,-33,0,-32,0,-34,0,-39,0,-47,0,-56,0,-73,0,-83,0,-108,0,-120,0,109,0,90,0,63,0,42,0,13,0,-10,-1,-36,-1,-62,-1,-83,-1,-107,-1,126,-1,109,-1,88,-1,75,-1,62,-1,49,-1,45,-1,34,-1,39,-1,32,-1,41,-1,44,-1,54,-1,66,-1,80,-1,95,-1,114,-1,-121,-1,-101,-1,-76,-1,-54,-1,-28,-1,-3,-1,21,0,46,0,71,0,92,0,116,0,-120,0,-103,0,-84,0,-71,0,-59,0,-50,0,-41,0,-43,0,-33,0,-43,0,-43,0,-51,0,-62,0,-75,0,-87,0,-108,0,-122,0,109,0,92,0,61,0,46,0,14,0,-5,-1,-33,-1,-55,-1,-81,-1,-100,-1,-124,-1,115,-1,95,-1,84,-1,64,-1,62,-1,45,-1,47,-1,39,-1,43,-1,42,-1,53,-1,55,-1,73,-1,79,-1,100,-1,115,-1,-121,-1,-100,-1,-78,-1,-54,-1,-31,-1,-6,-1,17,0,43,0,65,0,88,0,111,0,127,0,-106,0,-93,0,-77,0,-65,0,-58,0,-47,0,-48,0,-41,0,-47,0,-49,0,-55,0,-68,0,-75,0,-92,0,-108,0,-125,0,109,0,90,0,67,0,42,0,22,0,-5,-1,-27,-1,-54,-1,-72,-1,-99,-1,-114,-1,119,-1,102,-1,89,-1,74,-1,63,-1,57,-1,49,-1,48,-1,48,-1,47,-1,58,-1,60,-1,74,-1,86,-1,99,-1,119,-1,-121,-1,-100,-1,-77,-1,-57,-1,-33,-1,-9,-1,15,0,38,0,61,0,83,0,103,0,125,0,-115,0,-99,0,-82,0,-74,0,-62,0,-55,0,-53,0,-48,0,-52,0,-53,0,-62,0,-68,0,-81,0,-94,0,-110,0,-126,0,108,0,91,0,68,0,43,0,25,0,-5,-1,-21,-1,-49,-1,-69,-1,-91,-1,-112,-1,127,-1,108,-1,95,-1,79,-1,74,-1,58,-1,60,-1,50,-1,55,-1,53,-1,61,-1,66,-1,77,-1,89,-1,101,-1,121,-1,-121,-1,-98,-1,-80,-1,-57,-1,-35,-1,-11,-1,10,0,36,0,54,0,80,0,98,0,118,0,-119,0,-107,0,-87,0,-82,0,-67,0,-63,0,-56,0,-57,0,-55,0,-60,0,-64,0,-74,0,-84,0,-97,0,-112,0,-126,0,107,0,91,0,68,0,46,0,25,0,2,0,-22,-1,-42,-1,-65,-1,-88,-1,-102,-1,127,-1,119,-1,97,-1,89,-1,76,-1,69,-1,61,-1,60,-1,56,-1,63,-1,61,-1,74,-1,77,-1,95,-1,102,-1,122,-1,-118,-1,-100,-1,-78,-1,-60,-1,-35,-1,-16,-1,9,0,30,0,53,0,72,0,95,0,111,0,-125,0,-111,0,-96,0,-85,0,-75,0,-67,0,-65,0,-60,0,-61,0,-66,0,-66,0,-81,0,-85,0,-99,0,-116,0,-126,0,105,0,92,0,67,0,50,0,26,0,5,0,-18,-1,-41,-1,-59,-1,-82,-1,-100,-1,-118,-1,120,-1,106,-1,93,-1,84,-1,72,-1,72,-1,60,-1,67,-1,63,-1,69,-1,76,-1,82,-1,97,-1,104,-1,125,-1}; }
	private static byte[] data17(){ return new byte[] {-117,-1,-101,-1,-77,-1,-63,-1,-35,-1,-19,-1,7,0,26,0,48,0,70,0,86,0,110,0,122,0,-114,0,-104,0,-89,0,-83,0,-72,0,-72,0,-62,0,-71,0,-65,0,-77,0,-79,0,-90,0,-104,0,-115,0,124,0,109,0,89,0,71,0,47,0,31,0,4,0,-12,-1,-37,-1,-56,-1,-75,-1,-98,-1,-111,-1,124,-1,114,-1,98,-1,90,-1,79,-1,74,-1,71,-1,67,-1,71,-1,73,-1,78,-1,90,-1,94,-1,113,-1,121,-1,-113,-1,-101,-1,-79,-1,-59,-1,-42,-1,-16,-1,1,0,22,0,48,0,59,0,90,0,97,0,122,0,-123,0,-108,0,-96,0,-88,0,-78,0,-76,0,-71,0,-71,0,-75,0,-76,0,-87,0,-92,0,-105,0,-118,0,124,0,106,0,91,0,68,0,54,0,27,0,11,0,-12,-1,-33,-1,-50,-1,-76,-1,-86,-1,-114,-1,-119,-1,115,-1,106,-1,94,-1,85,-1,81,-1,74,-1,76,-1,73,-1,78,-1,85,-1,88,-1,103,-1,110,-1,127,-1,-114,-1,-99,-1,-79,-1,-63,-1,-39,-1,-23,-1,2,0,18,0,42,0,60,0,79,0,97,0,114,0,-128,0,-112,0,-104,0,-91,0,-86,0,-80,0,-77,0,-76,0,-79,0,-81,0,-90,0,-95,0,-109,0,-119,0,121,0,106,0,91,0,68,0,55,0,29,0,14,0,-11,-1,-27,-1,-49,-1,-68,-1,-85,-1,-105,-1,-118,-1,124,-1,108,-1,103,-1,88,-1,88,-1,79,-1,80,-1,79,-1,82,-1,88,-1,93,-1,104,-1,114,-1,-127,-1,-114,-1,-97,-1,-82,-1,-60,-1,-44,-1,-21,-1,-4,-1,18,0,37,0,55,0,77,0,89,0,112,0,121,0,-117,0,-109,0,-98,0,-90,0,-86,0,-81,0,-83,0,-82,0,-86,0,-93,0,-99,0,-111,0,-123,0,122,0,103,0,91,0,70,0,54,0,31,0,17,0,-10,-1,-21,-1,-49,-1,-60,-1,-84,-1,-97,-1,-115,-1,-126,-1,114,-1,107,-1,96,-1,91,-1,85,-1,85,-1,83,-1,87,-1,91,-1,97,-1,108,-1,116,-1,-127,-1,-111,-1,-99,-1,-77,-1,-66,-1,-40,-1,-27,-1,-3,-1,12,0,35,0,52,0,72,0,86,0,106,0,115,0,-120,0,-118,0,-99,0,-99,0,-88,0,-89,0,-86,0,-86,0,-92,0,-94,0,-105,0,-111,0,-126,0,120,0,104,0,88,0,73,0,51,0,38,0,12,0,1,0,-26,-1,-40,-1,-58,-1,-81,-1,-90,-1,-110,-1,-123,-1,122,-1,109,-1,104,-1,95,-1,92,-1,87,-1,90,-1,90,-1,95,-1,102,-1,108,-1,120,-1,-124,-1,-113,-1,-93,-1,-83,-1,-60,-1,-47,-1,-25,-1,-9,-1,14,0,28,0,51,0,66,0,82,0,100,0,113,0,126,0,-116,0,-111,0,-100,0,-96,0,-93,0,-89,0,-94,0,-92,0,-101,0,-106,0,-116,0,-126,0,117,0,104,0,87,0,73,0,53,0,37,0,17,0,-1,-1,-18,-1,-40,-1,-53,-1,-77,-1,-85,-1,-106,-1,-118,-1,-128,-1,113,-1,110,-1,99,-1,97,-1,93,-1,93,-1,96,-1,96,-1,108,-1,108,-1,127,-1,-128,-1,-105,-1,-100,-1,-76,-1,-66,-1,-44,-1,-29,-1,-9,-1,10,0,25,0,48,0,59,0,82,0,94,0,108,0,122,0,-123,0,-115,0,-105,0,-101,0,-98,0,-93,0,-98,0,-97,0,-104,0,-109,0,-118,0,127,0,116,0,102,0,88,0,72,0,54,0,38,0,19,0,2,0,-17,-1,-34,-1,-53,-1,-69,-1,-84,-1,-100,-1,-113,-1,-124,-1,119,-1,114,-1,105,-1,101,-1,98,-1,97,-1,100,-1,101,-1,110,-1,112,-1,-128,-1,-124,-1,-107,-1,-95,-1,-79,-1,-64,-1,-45,-1,-32,-1,-9,-1,4,0,26,0,42,0,58,0,76,0,88,0,106,0,115,0,-126,0,-122,0,-108,0,-108,0,-99,0,-102,0,-98,0,-105,0,-104,0,-115,0,-118,0,122,0,118,0,97,0,91,0,68,0,58,0,37,0,22,0,4,0,-15,-1,-31,-1,-49,-1,-66,-1,-79,-1,-96,-1,-107,-1,-122,-1,127,-1,116,-1,112,-1,104,-1,104,-1,100,-1,105,-1,104,-1,113,-1,116,-1,-128,-1,-120,-1,-107,-1,-93,-1,-81,-1,-61,-1,-51,-1,-28,-1,-16,-1,7,0,19,0,40,0,55,0,70,0,87,0,99,0,111,0,126,0,-127,0,-114,0,-110,0,-107,0,-103,0,-106,0,-104,0,-112,0,-113,0,-127,0,127,0,109,0,103,0,83,0,75,0,53,0,43,0,19,0,9,0,-14,-1,-28,-1,-44,-1,-63,-1,-75,-1,-92,-1,-102,-1,-118,-1,-122,-1,118,-1,117,-1,110,-1,107,-1,106,-1,107,-1,110,-1,113,-1,122,-1,-128,-1,-116,-1,-106,-1,-93,-1,-79,-1,-64,-1,-48,-1,-31,-1,-17,-1,4,0,16,0,39,0,48,0,70,0,80,0,96,0,108,0,117,0,-127,0}; }
	private static byte[] data18(){ return new byte[] {-121,0,-115,0,-109,0,-111,0,-106,0,-112,0,-111,0,-121,0,-124,0,119,0,112,0,98,0,88,0,69,0,58,0,40,0,23,0,10,0,-11,-1,-25,-1,-42,-1,-59,-1,-71,-1,-88,-1,-98,-1,-112,-1,-120,-1,125,-1,121,-1,114,-1,111,-1,111,-1,110,-1,114,-1,117,-1,124,-1,-126,-1,-114,-1,-104,-1,-93,-1,-77,-1,-66,-1,-47,-1,-35,-1,-14,-1,-4,-1,20,0,29,0,51,0,62,0,78,0,92,0,100,0,118,0,119,0,-121,0,-122,0,-114,0,-112,0,-114,0,-112,0,-118,0,-121,0,-128,0,118,0,109,0,98,0,84,0,72,0,57,0,41,0,25,0,11,0,-9,-1,-22,-1,-38,-1,-57,-1,-66,-1,-84,-1,-95,-1,-107,-1,-116,-1,-126,-1,126,-1,118,-1,115,-1,115,-1,113,-1,120,-1,117,-1,-126,-1,-126,-1,-111,-1,-104,-1,-90,-1,-78,-1,-65,-1,-49,-1,-34,-1,-19,-1,-1,-1,12,0,32,0,43,0,61,0,72,0,89,0,99,0,109,0,119,0,126,0,-123,0,-119,0,-117,0,-116,0,-117,0,-121,0,-123,0,122,0,121,0,102,0,101,0,81,0,74,0,55,0,43,0,27,0,10,0,-3,-1,-22,-1,-36,-1,-49,-1,-68,-1,-77,-1,-92,-1,-103,-1,-110,-1,-123,-1,-125,-1,120,-1,124,-1,113,-1,124,-1,115,-1,-128,-1,127,-1,-120,-1,-110,-1,-102,-1,-91,-1,-75,-1,-68,-1,-46,-1,-37,-1,-20,-1,-2,-1,8,0,31,0,39,0,58,0,70,0,83,0,95,0,106,0,113,0,123,0,-128,0,-123,0,-121,0,-120,0,-121,0,-123,0,-128,0,123,0,113,0,108,0,92,0,88,0,66,0,61,0,39,0,32,0,9,0,1,0,-21,-1,-31,-1,-49,-1,-61,-1,-76,-1,-86,-1,-98,-1,-110,-1,-114,-1,-126,-1,-125,-1,120,-1,126,-1,118,-1,127,-1,125,-1,-124,-1,-116,-1,-112,-1,-97,-1,-92,-1,-74,-1,-66,-1,-49,-1,-37,-1,-22,-1,-3,-1,7,0,26,0,39,0,51,0,70,0,76,0,93,0,101,0,110,0,118,0,124,0,-128,0,-124,0,-124,0,-125,0,-126,0,126,0,118,0,115,0,101,0,96,0,83,0,69,0,59,0,42,0,29,0,16,0,-3,-1,-14,-1,-31,-1,-46,-1,-55,-1,-75,-1,-81,-1,-95,-1,-105,-1,-110,-1,-121,-1,-123,-1,126,-1,-128,-1,123,-1,-127,-1,-127,-1,-121,-1,-116,-1,-106,-1,-100,-1,-87,-1,-76,-1,-65,-1,-50,-1,-37,-1,-23,-1,-6,-1,6,0,23,0,35,0,51,0,62,0,78,0,85,0,99,0,105,0,114,0,121,0,123,0,-128,0,-127,0,127,0,-127,0,119,0,120,0,108,0,104,0,91,0,84,0,68,0,59,0,43,0,30,0,17,0,-1,-1,-12,-1,-28,-1,-42,-1,-54,-1,-70,-1,-79,-1,-90,-1,-101,-1,-106,-1,-119,-1,-117,-1,-127,-1,-124,-1,127,-1,-124,-1,-125,-1,-117,-1,-114,-1,-105,-1,-97,-1,-87,-1,-75,-1,-65,-1,-50,-1,-38,-1,-23,-1,-9,-1,4,0,21,0,32,0,48,0,60,0,72,0,83,0,94,0,102,0,110,0,116,0,120,0,124,0,126,0,124,0,123,0,120,0,113,0,112,0,97,0,94,0,79,0,71,0,57,0,45,0,30,0,17,0,4,0,-12,-1,-26,-1,-38,-1,-53,-1,-64,-1,-76,-1,-87,-1,-96,-1,-105,-1,-109,-1,-121,-1,-115,-1,-128,-1,-119,-1,-126,-1,-118,-1,-117,-1,-110,-1,-104,-1,-95,-1,-86,-1,-75,-1,-62,-1,-54,-1,-36,-1,-25,-1,-13,-1,8,0,13,0,34,0,42,0,57,0,69,0,80,0,90,0,99,0,105,0,113,0,117,0,118,0,125,0,119,0,121,0,118,0,110,0,108,0,98,0,90,0,80,0,69,0,58,0,44,0,33,0,17,0,4,0,-8,-1,-24,-1,-35,-1,-50,-1,-60,-1,-75,-1,-81,-1,-94,-1,-99,-1,-108,-1,-113,-1,-116,-1,-121,-1,-118,-1,-122,-1,-114,-1,-116,-1,-108,-1,-99,-1,-99,-1,-79,-1,-79,-1,-61,-1,-51,-1,-39,-1,-27,-1,-9,-1,-2,-1,19,0,25,0,43,0,53,0,67,0,75,0,88,0,91,0,107,0,104,0,117,0,115,0,117,0,120,0,116,0,114,0,112,0,100,0,102,0,84,0,83,0,67,0,57,0,46,0,32,0,20,0,5,0,-6,-1,-21,-1,-35,-1,-44,-1,-61,-1,-67,-1,-80,-1,-89,-1,-98,-1,-102,-1,-110,-1,-114,-1,-113,-1,-121,-1,-112,-1,-118,-1,-108,-1,-109,-1,-96,-1,-96,-1,-81,-1,-74,-1,-65,-1,-47,-1,-44,-1,-23,-1,-15,-1,-1,-1,15,0,25,0,38,0,52,0,60,0,76,0,80,0,93,0,98,0,104,0,111,0,112,0,116,0,113,0,117,0,108,0,111,0,100,0,96,0,87,0,79,0,66,0,61,0,41,0,38,0}; }
	private static byte[] data19(){ return new byte[] {16,0,11,0,-8,-1,-17,-1,-31,-1,-45,-1,-53,-1,-69,-1,-73,-1,-89,-1,-89,-1,-105,-1,-101,-1,-114,-1,-109,-1,-116,-1,-112,-1,-111,-1,-110,-1,-103,-1,-99,-1,-90,-1,-82,-1,-72,-1,-64,-1,-51,-1,-39,-1,-29,-1,-12,-1,-4,-1,13,0,22,0,38,0,46,0,60,0,70,0,79,0,88,0,96,0,98,0,111,0,104,0,117,0,108,0,114,0,107,0,106,0,99,0,95,0,84,0,80,0,65,0,59,0,44,0,35,0,21,0,9,0,-4,-1,-16,-1,-29,-1,-40,-1,-54,-1,-62,-1,-73,-1,-83,-1,-88,-1,-99,-1,-100,-1,-108,-1,-108,-1,-111,-1,-110,-1,-109,-1,-106,-1,-102,-1,-95,-1,-90,-1,-80,-1,-74,-1,-61,-1,-52,-1,-40,-1,-26,-1,-19,-1,0,0,6,0,24,0,32,0,48,0,53,0,70,0,72,0,88,0,89,0,100,0,101,0,107,0,108,0,109,0,109,0,105,0,103,0,99,0,91,0,86,0,74,0,68,0,57,0,46,0,34,0,22,0,11,0,-3,-1,-13,-1,-29,-1,-35,-1,-53,-1,-57,-1,-71,-1,-79,-1,-85,-1,-97,-1,-95,-1,-105,-1,-104,-1,-108,-1,-108,-1,-107,-1,-101,-1,-103,-1,-89,-1,-92,-1,-78,-1,-71,-1,-64,-1,-47,-1,-45,-1,-26,-1,-18,-1,-4,-1,7,0,20,0,30,0,45,0,50,0,67,0,70,0,83,0,88,0,94,0,100,0,102,0,107,0,104,0,107,0,102,0,102,0,94,0,94,0,78,0,80,0,62,0,60,0,43,0,37,0,22,0,12,0,-1,-1,-12,-1,-26,-1,-34,-1,-47,-1,-58,-1,-66,-1,-76,-1,-83,-1,-90,-1,-95,-1,-101,-1,-101,-1,-106,-1,-103,-1,-104,-1,-102,-1,-96,-1,-93,-1,-85,-1,-81,-1,-68,-1,-63,-1,-50,-1,-40,-1,-33,-1,-12,-1,-13,-1,13,0,12,0,32,0,39,0,50,0,63,0,67,0,80,0,84,0,91,0,98,0,96,0,107,0,98,0,107,0,98,0,100,0,93,0,89,0,81,0,75,0,65,0,57,0,45,0,36,0,23,0,14,0,-1,-1,-8,-1,-26,-1,-29,-1,-48,-1,-51,-1,-66,-1,-72,-1,-80,-1,-86,-1,-93,-1,-95,-1,-102,-1,-99,-1,-103,-1,-100,-1,-99,-1,-96,-1,-89,-1,-85,-1,-77,-1,-71,-1,-60,-1,-51,-1,-40,-1,-32,-1,-15,-1,-13,-1,10,0,11,0,29,0,38,0,46,0,60,0,65,0,76,0,81,0,90,0,90,0,99,0,97,0,102,0,100,0,97,0,98,0,89,0,90,0,78,0,75,0,63,0,58,0,44,0,37,0,24,0,14,0,3,0,-11,-1,-18,-1,-33,-1,-41,-1,-52,-1,-60,-1,-71,-1,-76,-1,-84,-1,-90,-1,-91,-1,-99,-1,-97,-1,-99,-1,-99,-1,-95,-1,-94,-1,-88,-1,-83,-1,-77,-1,-68,-1,-61,-1,-50,-1,-42,-1,-29,-1,-22,-1,-6,-1,0,0,17,0,22,0,37,0,44,0,56,0,64,0,72,0,79,0,84,0,91,0,92,0,97,0,98,0,97,0,96,0,93,0,90,0,86,0,79,0,72,0,62,0,59,0,43,0,39,0,23,0,15,0,4,0,-8,-1,-17,-1,-31,-1,-37,-1,-51,-1,-58,-1,-66,-1,-74,-1,-81,-1,-85,-1,-93,-1,-91,-1,-97,-1,-95,-1,-97,-1,-93,-1,-92,-1,-86,-1,-81,-1,-76,-1,-67,-1,-61,-1,-49,-1,-42,-1,-31,-1,-20,-1,-10,-1,1,0,14,0,20,0,34,0,44,0,51,0,63,0,68,0,75,0,83,0,87,0,90,0,94,0,94,0,95,0,94,0,91,0,88,0,84,0,77,0,72,0,62,0,56,0,46,0,35,0,28,0,13,0,6,0,-5,-1,-19,-1,-24,-1,-39,-1,-47,-1,-54,-1,-65,-1,-70,-1,-78,-1,-84,-1,-86,-1,-92,-1,-91,-1,-95,-1,-93,-1,-91,-1,-90,-1,-83,-1,-82,-1,-72,-1,-69,-1,-57,-1,-52,-1,-40,-1,-31,-1,-22,-1,-11,-1,0,0,10,0,23,0,29,0,42,0,48,0,60,0,66,0,72,0,82,0,80,0,92,0,86,0,96,0,89,0,95,0,85,0,90,0,78,0,80,0,67,0,64,0,55,0,44,0,38,0,26,0,16,0,7,0,-5,-1,-15,-1,-24,-1,-36,-1,-43,-1,-55,-1,-58,-1,-72,-1,-72,-1,-82,-1,-84,-1,-88,-1,-90,-1,-91,-1,-90,-1,-91,-1,-85,-1,-86,-1,-75,-1,-76,-1,-62,-1,-62,-1,-48,-1,-42,-1,-33,-1,-19,-1,-15,-1,2,0,6,0,21,0,28,0,38,0,48,0,56,0,63,0,72,0,73,0,85,0,81,0,92,0,85,0,94,0,85,0,91,0,81,0,83,0,72,0,71,0,60,0,56,0,45,0,37,0,26,0,17,0,9,0,-5,-1,-11,-1,-25,-1,-31,-1,-44,-1,-48,-1,-61,-1,-64,-1,-71,-1,-81,-1,-78,-1,-88,-1,-86,-1,-88,-1}; }
	private static byte[] data20(){ return new byte[] {-89,-1,-88,-1,-82,-1,-86,-1,-71,-1,-76,-1,-62,-1,-60,-1,-49,-1,-41,-1,-32,-1,-22,-1,-14,-1,-2,-1,7,0,18,0,27,0,36,0,45,0,53,0,62,0,67,0,73,0,80,0,80,0,87,0,86,0,87,0,87,0,86,0,80,0,81,0,72,0,68,0,62,0,52,0,46,0,38,0,25,0,21,0,5,0,1,0,-13,-1,-20,-1,-32,-1,-39,-1,-49,-1,-55,-1,-63,-1,-70,-1,-74,-1,-81,-1,-80,-1,-87,-1,-83,-1,-89,-1,-83,-1,-84,-1,-79,-1,-75,-1,-72,-1,-61,-1,-61,-1,-45,-1,-45,-1,-30,-1,-24,-1,-14,-1,-3,-1,6,0,16,0,24,0,35,0,42,0,51,0,59,0,64,0,72,0,75,0,80,0,81,0,87,0,82,0,87,0,81,0,82,0,76,0,73,0,65,0,62,0,53,0,44,0,38,0,26,0,21,0,8,0,-1,-1,-10,-1,-20,-1,-28,-1,-37,-1,-47,-1,-52,-1,-62,-1,-66,-1,-72,-1,-77,-1,-78,-1,-84,-1,-83,-1,-83,-1,-85,-1,-78,-1,-81,-1,-70,-1,-74,-1,-58,-1,-60,-1,-48,-1,-39,-1,-37,-1,-19,-1,-17,-1,-3,-1,3,0,16,0,21,0,35,0,37,0,52,0,54,0,64,0,67,0,73,0,77,0,80,0,83,0,80,0,85,0,79,0,80,0,74,0,72,0,64,0,61,0,52,0,45,0,36,0,30,0,17,0,12,0,-1,-1,-8,-1,-17,-1,-28,-1,-34,-1,-45,-1,-50,-1,-59,-1,-63,-1,-71,-1,-72,-1,-79,-1,-79,-1,-81,-1,-82,-1,-80,-1,-80,-1,-76,-1,-72,-1,-68,-1,-62,-1,-56,-1,-49,-1,-40,-1,-34,-1,-22,-1,-17,-1,-5,-1,3,0,12,0,23,0,29,0,39,0,46,0,53,0,61,0,65,0,71,0,75,0,76,0,80,0,80,0,82,0,76,0,80,0,70,0,72,0,65,0,57,0,53,0,44,0,37,0,29,0,20,0,10,0,3,0,-9,-1,-14,-1,-27,-1,-32,-1,-42,-1,-49,-1,-55,-1,-63,-1,-65,-1,-73,-1,-74,-1,-77,-1,-80,-1,-78,-1,-79,-1,-78,-1,-73,-1,-72,-1,-66,-1,-61,-1,-55,-1,-49,-1,-39,-1,-35,-1,-22,-1,-19,-1,-3,-1,-1,-1,14,0,17,0,30,0,36,0,44,0,52,0,57,0,63,0,69,0,71,0,75,0,79,0,74,0,82,0,75,0,75,0,74,0,65,0,66,0,57,0,50,0,47,0,34,0,31,0,21,0,9,0,5,0,-7,-1,-15,-1,-22,-1,-32,-1,-40,-1,-45,-1,-55,-1,-58,-1,-66,-1,-68,-1,-72,-1,-75,-1,-77,-1,-76,-1,-78,-1,-75,-1,-71,-1,-72,-1,-62,-1,-64,-1,-51,-1,-50,-1,-38,-1,-36,-1,-22,-1,-19,-1,-5,-1,-1,-1,10,0,19,0,25,0,36,0,41,0,50,0,53,0,64,0,63,0,71,0,72,0,74,0,77,0,75,0,76,0,73,0,69,0,69,0,60,0,59,0,50,0,44,0,37,0,28,0,23,0,10,0,5,0,-4,-1,-15,-1,-20,-1,-30,-1,-38,-1,-45,-1,-48,-1,-62,-1,-56,-1,-71,-1,-70,-1,-69,-1,-79,-1,-71,-1,-77,-1,-72,-1,-72,-1,-67,-1,-66,-1,-57,-1,-55,-1,-46,-1,-41,-1,-33,-1,-26,-1,-14,-1,-13,-1,5,0,3,0,21,0,22,0,35,0,38,0,47,0,54,0,57,0,66,0,65,0,71,0,73,0,73,0,75,0,72,0,72,0,69,0,65,0,63,0,53,0,53,0,41,0,38,0,30,0,19,0,16,0,2,0,-2,-1,-12,-1,-20,-1,-28,-1,-35,-1,-43,-1,-49,-1,-54,-1,-61,-1,-63,-1,-68,-1,-71,-1,-72,-1,-73,-1,-72,-1,-72,-1,-69,-1,-68,-1,-61,-1,-60,-1,-52,-1,-46,-1,-41,-1,-32,-1,-26,-1,-18,-1,-9,-1,0,0,6,0,16,0,23,0,30,0,38,0,46,0,50,0,57,0,60,0,65,0,69,0,69,0,74,0,69,0,73,0,70,0,66,0,67,0,57,0,57,0,48,0,45,0,36,0,29,0,22,0,13,0,6,0,-2,-1,-11,-1,-19,-1,-24,-1,-37,-1,-36,-1,-52,-1,-48,-1,-61,-1,-59,-1,-68,-1,-66,-1,-72,-1,-69,-1,-72,-1,-70,-1,-67,-1,-66,-1,-61,-1,-57,-1,-53,-1,-46,-1,-40,-1,-32,-1,-27,-1,-16,-1,-12,-1,-1,-1,5,0,15,0,20,0,31,0,34,0,45,0,47,0,54,0,60,0,62,0,66,0,69,0,68,0,71,0,70,0,66,0,69,0,59,0,64,0,49,0,54,0,38,0,40,0,27,0,24,0,12,0,10,0,-5,-1,-7,-1,-17,-1,-27,-1,-29,-1,-40,-1,-44,-1,-51,-1,-54,-1,-64,-1,-58,-1,-71,-1,-64,-1,-70,-1,-71,-1,-64,-1,-71,-1,-60,-1,-62,-1,-56,-1,-52,-1,-44,-1,-43,-1,-29,-1,-29,-1,-17,-1,-11,-1,-3,-1,4,0,14,0}; }
	private static byte[] data21(){ return new byte[] {18,0,30,0,31,0,44,0,45,0,52,0,58,0,58,0,67,0,63,0,70,0,66,0,69,0,66,0,64,0,62,0,58,0,53,0,49,0,41,0,38,0,28,0,23,0,15,0,7,0,-1,-1,-6,-1,-19,-1,-19,-1,-33,-1,-34,-1,-46,-1,-45,-1,-57,-1,-54,-1,-64,-1,-62,-1,-68,-1,-65,-1,-68,-1,-67,-1,-62,-1,-66,-1,-56,-1,-58,-1,-48,-1,-47,-1,-38,-1,-33,-1,-27,-1,-17,-1,-14,-1,-2,-1,3,0,11,0,20,0,23,0,36,0,36,0,47,0,48,0,56,0,58,0,63,0,62,0,68,0,62,0,70,0,63,0,63,0,61,0,56,0,52,0,50,0,38,0,40,0,26,0,26,0,13,0,9,0,1,0,-8,-1,-14,-1,-21,-1,-30,-1,-32,-1,-43,-1,-46,-1,-51,-1,-57,-1,-57,-1,-64,-1,-62,-1,-66,-1,-65,-1,-64,-1,-64,-1,-61,-1,-57,-1,-55,-1,-50,-1,-43,-1,-42,-1,-30,-1,-27,-1,-20,-1,-10,-1,-8,-1,6,0,8,0,18,0,24,0,30,0,38,0,43,0,48,0,51,0,58,0,59,0,62,0,64,0,64,0,64,0,64,0,61,0,59,0,56,0,52,0,46,0,43,0,34,0,31,0,22,0,17,0,8,0,1,0,-5,-1,-14,-1,-19,-1,-27,-1,-34,-1,-37,-1,-47,-1,-48,-1,-54,-1,-58,-1,-59,-1,-62,-1,-64,-1,-62,-1,-65,-1,-60,-1,-61,-1,-56,-1,-53,-1,-50,-1,-43,-1,-39,-1,-33,-1,-25,-1,-21,-1,-12,-1,-6,-1,2,0,10,0,13,0,26,0,26,0,38,0,39,0,47,0,50,0,56,0,57,0,59,0,63,0,62,0,62,0,63,0,59,0,58,0,55,0,50,0,46,0,43,0,33,0,31,0,23,0,15,0,11,0,1,0,-4,-1,-12,-1,-19,-1,-25,-1,-31,-1,-38,-1,-43,-1,-47,-1,-52,-1,-54,-1,-60,-1,-59,-1,-61,-1,-62,-1,-61,-1,-62,-1,-56,-1,-58,-1,-49,-1,-51,-1,-42,-1,-40,-1,-31,-1,-28,-1,-17,-1,-16,-1,-3,-1,-3,-1,11,0,12,0,23,0,28,0,32,0,41,0,43,0,48,0,55,0,53,0,60,0,59,0,61,0,60,0,62,0,57,0,57,0,54,0,48,0,49,0,37,0,39,0,26,0,26,0,15,0,11,0,2,0,-3,-1,-10,-1,-19,-1,-20,-1,-30,-1,-28,-1,-34,-1,-33,-1,-36,-1,-34,-1,-35,-1,-31,-1,-30,-1,-28,-1,-23,-1,-22,-1,-16,-1,-15,-1,-10,-1,-7,-1,-4,-1,-2,-1}; }
	private static byte[] getData(){
		byte[] data = new byte[22040];
		System.arraycopy(data0(), 0, data, 0, 1024);
		System.arraycopy(data1(), 0, data, 1024, 1024);
		System.arraycopy(data2(), 0, data, 2048, 1024);
		System.arraycopy(data3(), 0, data, 3072, 1024);
		System.arraycopy(data4(), 0, data, 4096, 1024);
		System.arraycopy(data5(), 0, data, 5120, 1024);
		System.arraycopy(data6(), 0, data, 6144, 1024);
		System.arraycopy(data7(), 0, data, 7168, 1024);
		System.arraycopy(data8(), 0, data, 8192, 1024);
		System.arraycopy(data9(), 0, data, 9216, 1024);
		System.arraycopy(data10(), 0, data, 10240, 1024);
		System.arraycopy(data11(), 0, data, 11264, 1024);
		System.arraycopy(data12(), 0, data, 12288, 1024);
		System.arraycopy(data13(), 0, data, 13312, 1024);
		System.arraycopy(data14(), 0, data, 14336, 1024);
		System.arraycopy(data15(), 0, data, 15360, 1024);
		System.arraycopy(data16(), 0, data, 16384, 1024);
		System.arraycopy(data17(), 0, data, 17408, 1024);
		System.arraycopy(data18(), 0, data, 18432, 1024);
		System.arraycopy(data19(), 0, data, 19456, 1024);
		System.arraycopy(data20(), 0, data, 20480, 1024);
		System.arraycopy(data21(), 0, data, 21504, 536);
		return data;
	}
	/** Constructs a new AudioClip with the data from drum-15.wav. */
	public Drum15(){
		data = getData();
		format = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED, (float)(44100.0), 16, 1, 2, (float)(44100.0), false);
		lineInfo = new DataLine.Info(SourceDataLine.class, format, AudioSystem.NOT_SPECIFIED);
		try{ AudioSystem.getLine(lineInfo); }
		catch(IllegalArgumentException ex){ lineInfo = null; ex.printStackTrace(); }
		catch(LineUnavailableException e){}
	}
	/** A separate thread for playing drum-15.wav. */
	private class PlayThread extends Thread {
		private byte[] data;
		private AudioFormat format;
		private DataLine.Info lineInfo;
		private SourceDataLine line = null;
		private boolean playing = true;
		private float volume = 1;
		public PlayThread(byte[] d, AudioFormat f, DataLine.Info i, float v){ data = d; format = f; lineInfo = i; volume = v; }
		public void run(){
			try{
				line = (SourceDataLine) AudioSystem.getLine(lineInfo);
				line.open(format, AudioSystem.NOT_SPECIFIED);
				FloatControl vol = (FloatControl) line.getControl(FloatControl.Type.MASTER_GAIN);
				vol.setValue(volume);
				line.start();
				int written = 0;
				int available;
				while(written < data.length && playing){
					available = Math.min(line.available(), data.length - written);
					line.write(data, written, available);
					written += available;
				}
				int frames = data.length / format.getFrameSize();
				while(line.getFramePosition() < frames && playing) Thread.sleep(0);
			}
			catch(InterruptedException ex){ playing = false; }
			catch(LineUnavailableException ex){}
			if(line != null){ line.stop(); line.flush(); line.close(); }
			playing = false;
		}
		public void interrupt(){ playing = false; }
		public boolean isPlaying(){ return playing; }
	}
	/** A separate thread for looping play of drum-15.wav. */
	private class LoopThread extends Thread {
		private Drum15 clip;
		private boolean looping = true;
		public LoopThread(Drum15 c){ clip = c; }
		public void run(){
			while(looping){
				clip.play();
				while(clip.isPlaying() && looping){
					try{ Thread.sleep(0); }
					catch(InterruptedException ex){ looping = false; break; }
				}
			}
			if(!clip.isLooping()) clip.stop();
		}
		public void interrupt(){ looping = false; }
		public boolean isLooping(){ return looping; }
	}
	/** Plays drum-15.wav from the beginning, even if it is already playing or looping. */
	public void play() { play(0); }
	public void play(float balance){ if(lineInfo == null) return; doPlay(balance); }
	private synchronized void doPlay(float balance){
		doStopPlay();
		playThread = new PlayThread(data, format, lineInfo, balance);
		playThread.start();
	}
	/** Plays drum-15.wav continuously until stopped. */
	public void loop(){ if(lineInfo == null) return; doLoop(); }
	private synchronized void doLoop(){
		doStopLoop();
		loopThread = new LoopThread(this);
		loopThread.start();
	}
	/** Stops play and looping of drum-15.wav. */
	public void stop(){ if(lineInfo == null) return; doStop(); }
	private synchronized void doStop(){
		doStopPlay();
		doStopLoop();
	}
	private void doStopPlay(){
		if(playThread == null) return;
		if(playThread.isPlaying()) playThread.interrupt();
		playThread = null;
	}
	private void doStopLoop(){
		if(loopThread == null) return;
		if(loopThread.isLooping()) loopThread.interrupt();
		loopThread = null;
	}
	/** Tests if drum-15.wav is currently playing or looping.
	 * @return <tt>true</tt> if playing or looping, <tt>false</tt> otherwise */
	public boolean isPlaying(){ if(lineInfo == null) return false; return doIsPlaying(); }
	private synchronized boolean doIsPlaying(){
		if(loopThread == null && playThread == null) return false;
		else if(loopThread == null) return playThread.isPlaying();
		else if(playThread == null) return loopThread.isLooping();
		else return loopThread.isLooping() && playThread.isPlaying();
	}
	/** Tests if drum-15.wav is currently looping.
	 * @return <tt>true</tt> if looping, <tt>false</tt> otherwise */
	public boolean isLooping(){ if(lineInfo == null) return false; return doIsLooping(); }
	private synchronized boolean doIsLooping(){
		if(loopThread == null) return false;
		else return loopThread.isLooping();
	}
}